脆弱性情報(JVN)
脆弱性情報(JVN)検索・一覧
JVN(IPA/JPCERT/CC 提供)の脆弱性情報 289,756 件を、製品・ベンダ・脆弱性タイプ(CWE)で 全文検索し、深刻度(CVSS)で絞り込めます。発表日の新しい順。各タイトルから詳細(CVSS内訳・関連脆弱性)へ。
直近1年 の検索結果:1,481–1,520 件目を表示(ページ 38)
深刻度は CVSS(共通脆弱性評価システム・0〜10 のスコア)に基づく区分:Critical 9.0以上/High 7.0〜8.9/Medium 4.0〜6.9/Low 0.1〜3.9。
異常なGPUシェーダーコードを含むWebページがGPUコンパイラプロセスに読み込まれると、GPUシェーダーコンパイラライブラリで境界外書き込みによるクラッシュを引き起こす可能性があります。特定のプラットフォームでは、コンパイラプロセスがシステム特権を持っている場合、これによってデバイス上でさらなる悪用が可能になります。GPUシェーダーコード内の非常に小さい値を使用するエッジケースにより、境界外書き込みが原因でGPUシェーダーコンパイラがセグメンテーションフォルトを引き起こすことがあります。
Mattermostのバージョン10.11.xから10.11.18、11.6.xから11.6.3、11.5.xから11.5.6では、AIボットツールの結果投稿に対するMarkdown画像レンダリングの制限が適切に適用されていません。そのため、認証された攻撃者が被害者のクライアントでレンダリングされるツール結果コンテンツにMarkdown画像構文を注入し、攻撃者が制御するサーバーへデータを不正に送信することが可能です。
Cactiはオープンソースのパフォーマンスおよび障害管理フレームワークです。バージョン1.2.30およびそれ以前のバージョンには、str_contains($referer, CACTI_PATH_URL)でホストチェックではなく部分文字列チェックを行っていたため、オープンリダイレクトの脆弱性が存在します。ユーザーのlogin_optsが'1'(ログイン後にリファラーへリダイレクト)である場合、関数は$_SERVER['HTTP_REFERER']を直接使用していました。攻撃者はhttps://evil.com/cacti/のようなリファラーを細工することが可能です。ここでCACTI_PATH_URLは/cacti/であり、部分文字列が一致するとユーザーはログイン後にevil.comへリダイレクトされます。lib/html_utility.phpにある既存のvalidate_redirect_url()ヘルパーは適切な検証を行っていましたが、auth_login_redirect()からは呼び出されていませんでした。この問題はバージョン1.2.31で修正されました。
Cactiはオープンソースのパフォーマンスおよび障害管理フレームワークです。バージョン1.2.30およびそれ以前のバージョンでは、ログイン後にsession_regenerate_id()が呼び出されておらず、セッション固定(Session Fixation)につながる問題がありました。auth_login.phpの203〜207行目のログイン処理において、セッションIDを更新せずに$_SESSION[SESS_USER_ID]が直接設定されていました。セッションクッキーの設定自体は良好で(include/global.phpの513〜537行目にてhttponly=true、samesite=Strict、HTTPS使用時にはsecure=trueとなっています)が、これらは同一サイト内での攻撃によるセッション固定を防ぐことはできません。この問題はバージョン1.2.31で修正されました。
Cactiはオープンソースのパフォーマンスおよび障害管理フレームワークです。バージョン1.2.30およびそれ以前には、managers.phpの未検証のunserialize関数とimplode関数の組み合わせによってSQLインジェクションの脆弱性が存在しました。managers.phpの756行目で、アプリケーションはcacti_unserialize(stripslashes(gnrv('selected_graphs_array')))を呼び出して$selected_itemsに値を割り当てています。cacti_unserialize()関数はallowed_classesをfalseに設定してunserialize()を呼び出し、オブジェクトインジェクションを防止しますが、任意の文字列配列の逆シリアライズは許可されています。その後、760行目から766行目にかけて、逆シリアライズされた配列の値が直接db_execute('DELETE FROM snmpagent_managers WHERE id IN (' . implode(',', $selected_items) . ')')に渡されており、整数検証が行われないままSQL文にimplodeされるため、SNMPエージェント管理権限を持つユーザーがSQLインジェクションを実行できる状態でした。この問題はバージョン1.2.31で修正されました。
Cactiはオープンソースのパフォーマンスおよび障害管理フレームワークです。バージョン1.2.30およびそれ以前のバージョンには、Reportのformat_fileパラメータを介したパストラバーサルの脆弱性が存在し、任意のファイルを読み取ることが可能でした。この脆弱性は2段階で発生します。第一段階(ストアドインジェクション)では、lib/html_reports.phpの283行目で$save['format_file'] = $post['format_file']がバリデーションなしに直接データベースに保存されます。第二段階(ファイル読み取り)では、lib/reports.phpの667行目でCACTI_PATH_FORMATS . '/' . $format_fileを連結し、670行目でfile($format_file)が呼び出されるため、ファイルシステムから任意のファイルを読み取ります。この問題はバージョン1.2.31で修正されました。
Cactiはオープンソースのパフォーマンスおよび障害管理フレームワークです。バージョン1.2.30およびそれ以前には、パッケージインポートの署名検証を回避し、自己署名パッケージの使用を許可する脆弱性が存在していました。この問題はバージョン1.2.31で修正されました。
Mattermostのバージョン10.11.xの10.11.18以下、11.6.xの11.6.3以下、11.5.xの11.5.6以下には、Mattermost AgentsプラグインのMCPサーバーで添付ファイルのURLが内部またはプライベートIPレンジに対して検証されない脆弱性があります。そのため、標準入出力モードでMCPサーバーにアクセスできる攻撃者がサーバーサイドリクエスト偽造(SSRF)を実行できます。攻撃者は投稿作成リクエストに内部URLをファイル添付として提供することで、内部ネットワークサービスからデータを流出させることが可能です。
ホストVM内でインストールされて実行されているカーネルソフトウェアは、GPUファームウェアに対して不適切なコマンドを送信し、ホストカーネルが許可されたメモリ範囲外のメモリを読み取ったり書き込んだりする可能性があります。GPUファームウェアに渡されるアドレスは、システムで許可されているよりも高い権限でメモリアクセスに使用される可能性があります。
Notepad++は無料かつオープンソースのソースコードエディタです。バージョン8.9.4から8.9.6の間に、インストーラにローカル特権昇格の脆弱性が存在しました。インストール中、インストーラは作業ディレクトリをインストールのcontextMenuディレクトリに設定した後、絶対パスを使用せずにpowershell.exeを呼び出します。攻撃者はユーザーが書き込み可能なカスタムインストールディレクトリに悪意のあるpowershell.exeを事前に配置でき、特権ユーザーが後にインストーラを実行してそのディレクトリを選択した場合、攻撃者が制御する実行ファイルがインストーラの昇格された権限で起動されます。この脆弱性はバージョン8.9.6で修正されました。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.36.0から1.36.9、1.37.5、および1.38.3までの間、Envoyのext_authz HTTPフィルターにおいて、ルートごとの認可オーバーライドを処理中にダウンストリームのクライアントが急速に切断される状況で、Use-After-Free(UAF)脆弱性が存在し、突発的なセグメンテーションフォルトを引き起こします。標準的なリクエストライフサイクルにおいて、Envoyは基盤となる認可クライアントオブジェクト(client_)を持つext_authzフィルターを生成します。マッチしたルートが動的なルートごとのHTTPまたはgRPC認可サービスのオーバーライドを指定する場合、フィルターはローカルクライアントを生成します。脆弱な実装では、この一時的なクライアントがclient_ = std::move(per_route_client)を実行することで、デフォルトのclient_ユニークポインタを積極的に上書きします。クライアントがストリームを迅速に確立し、その後すぐに切断する(保護されたWebSocketエンドポイントを急速にリフレッシュする等)場合、ダウンストリームはConnectionManagerImpl::doDeferredStreamDestroy() - ActiveStream::onResetStream()のライフサイクルを引き起こします。Envoyは即座にFilter::onDestroy()をシーケンスし、client_-cancel()を通じて非同期認可チェックトランザクションの安全な中断を試みます。しかし、initiateCall中にデフォルトクライアントが突然破棄されることで、非同期クライアントマネージャ内にメモリライフサイクルの不整合が発生します。ストリームの切断は動的にバインドされた非同期認可タスクの追跡およびキャンセルを確実に行えず、ネットワークからの遅延した非同期コールバックが大幅に破壊されたActiveStream検証範囲に対して評価され、UAFによるプロセスクラッシュを引き起こす一連の流れをもたらします。この脆弱性は1.36.9、1.37.5、および1.38.3で修正されています。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.37.0から1.37.5および1.38.3において、ログフォーマットで%REQUESTED_SERVER_NAME(X:Y)%が使用され、かつHOST_FIRSTやSNI_FIRSTのようなホスト関連オプションが指定されている場合、リクエストヘッダーに指定されたホストヘッダーが存在しないとEnvoyがクラッシュする可能性があります。この脆弱性はバージョン1.37.5および1.38.3で修正されました。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.35.11、1.36.7、1.37.3、および1.38.1以前のOAuth2 HTTPフィルタのencrypt()/decrypt()関数は、認証タグなし(HMACなし、AEADなし)でAES-256-CBCを使用していました。/callbackエンドポイントは復号に成功するとHTTP 302を返し、パディング失敗時にはHTTP 401を返すため、パディングオラクルが発生します。暗号化されたCodeVerifierクッキーを取得した攻撃者は、約6,200回(約100秒)のリクエストで平文のPKCE code_verifierを回復し、その後に盗まれた認可コードと交換して被害者のアクセストークンを取得できます。この脆弱性はバージョン1.35.11、1.36.7、1.37.3、および1.38.1で修正されています。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。1.35.11、1.36.7、1.37.3、および1.38.1より前のバージョンでは、DefaultCertValidator::verifySubjectAltNameに構造的な欠陥がありました。ここでは抽出されたDNS SAN文字列が.Utility::dnsNameMatch()アルゴリズムに渡される前に.c_str()を使用してCスタイル文字列にキャストされます。攻撃者が埋め込みNULバイトを含むdNSName SANを持つ証明書を提供した場合、ヘルパーUtility::generalNameAsStringはNULを含む完全な文字列を取得します。しかし、.c_str()が評価される際、dnsNameMatch内でのabsl::string_viewへの暗黙の変換はstrlen()に依存しており、評価コンテキストが早期に切り詰められます。Envoyは切り詰められた文字列を厳密なconfig_sanマッチと照合し、trueを返すため、NULバイトを含む文字列の検証に成功して上流ルーティングに使用されてしまいます。この脆弱性は1.35.11、1.36.7、1.37.3、および1.38.1で修正されています。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.23.0から1.35.11、1.36.7、1.37.3、および1.38.1までの間で、Envoyのzstdデコンプレッサ実装(ZstdDecompressorImpl)に脆弱性が確認されています。zstdデコンプレッションが有効な場合、特別に細工された高圧縮のzstdペイロードを処理すると、膨大なメモリ割り当てが発生する可能性があります。攻撃者はこれを悪用して深刻なメモリ枯渇を引き起こし、Out-Of-Memory(OOM)キルおよびEnvoyプロキシのサービス拒否(DoS)を誘発させる可能性があります。この脆弱性はバージョン1.35.11、1.36.7、1.37.3、および1.38.1で修正されています。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.37.0から1.37.5および1.38.3までのHTTP OAuth2フィルター(envoy.filters.http.oauth2)は、すでに破棄された下流ストリームに対してインフライトの非同期トークン交換を残してしまうことがあります。遅延したAsyncClientの完了はOAuth2Filterのメソッドを呼び出すことがあり、これらはStreamDecoderFilterCallbacksオブジェクトの寿命終了後に発生します。その結果、未定義動作、ワーカーのクラッシュ(可用性の損失)、およびAddressSanitizer下でのuse-after-freeや無効なvptr障害を引き起こします。これはデータプレーンにおけるメモリ安全性および寿命の問題であり、単なる設定ミスではありません。リモートコード実行は報告されておらず、主な影響はクラッシュおよび未定義動作によるDoSです。その他の影響はデプロイ環境およびアロケータに依存します。この脆弱性はバージョン1.37.5および1.38.3で修正されています。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.35.11、1.36.7、1.37.3、および1.38.1以前では、UDP DNSフィルターが255オクテット長の名前を含むローカル解決や255オクテット長の名前のリモート解決に構成されている場合、そのような名前を持つクエリが正常に完了すると、異常なプロセス終了が発生します。この異常なプロセス終了は、クエリ名が厳密に255オクテット未満であるべきだという無効なランタイム前提条件によって引き起こされますが、これはDNS仕様のRFC1035のセクション2.3.4において名前は255オクテット以下であることを許容していることと矛盾しています。この脆弱性はバージョン1.35.11、1.36.7、1.37.3、および1.38.1で修正されています。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.34.0から1.35.13、1.36.9、1.37.5、および1.38.3までの間に、EnvoyのTCP StatsDシンク(TcpStatsdSink)に脆弱性が存在していました。この脆弱性は、スレッドローカルのフラッシャーバッファが非常に長い統計名(例:16KiBを超える)によってオーバーフローする可能性があるものです。フォーマット処理中に、TcpStatsdSinkは16KiBの連続したメモリスライス(FLUSH_SLICE_SIZE_BYTES)を予約します。単一のメトリックのフォーマットが残りの容量を超える場合、フラッシャーはバッファのローテーションを開始しますが、不適切に固定された16KiBサイズのスライスを再度割り当て続けます。攻撃者が16KiBを超える統計名をトリガーできる場合、例えばstats_for_all_methods: trueに設定されたgrpc_statsフィルターで記録される非常に長いリクエストパス(:path)を含むHTTPまたはgRPCリクエストを送信すると、フラッシャーは確保されたヒープバッファの境界を超えてmemcpy操作を使用してメトリック名をコピーしようとします。これによりヒープ書き込みオーバーフローが発生し、即時のサービス拒否(プロセスクラッシュ)や潜在的なリモートコード実行(RCE)を引き起こす可能性があります。この脆弱性はバージョン1.35.13、1.36.9、1.37.5、および1.38.3で修正されています。
Envoyはクラウドネイティブアプリケーション向けに設計されたオープンソースのエッジおよびサービスプロキシです。バージョン1.35.11、1.36.7、1.37.3、および1.38.1より前のEnvoyは、トランスポート層で完了したダウンストリームのHTTP/3リクエスト(FIN付きHEADERS/ヘッダのみのクローズ)を、まだゼロ以外のContent-Lengthを持つ状態で未解決のボディ負債を抱えたまま、完全なアップストリームHTTP/1リクエストに変換する可能性があります。アップストリームHTTP/1のデプロイメントにおいて、オリジンが宣言されたボディを読み取る前に応答し、接続を再利用可能な状態にすると、次のEnvoy生成アップストリームリクエストの開始部分が最初のリクエストのボディとして消費されることがあります。そして残りのバイトはオリジンによって新しいHTTP/1リクエストとして解析されます。この問題はルートバイパス/デシンクとして再現されました。直接の/pwnはEnvoyによって拒否されましたが、2つ目のダウンストリームH3ストリームはバックエンドで解析されたGET /pwn HTTP/1.1のレスポンスを受信しました。この脆弱性はバージョン1.35.11、1.36.7、1.37.3、および1.38.1で修正されています。
Notepad++ は無料かつオープンソースのソースコードエディタです。バージョン 8.9.6.1 より前では、同じ対話型 Windows セッション内のローカルプロセスが、COPYDATA_FULL_CMDLINE パスを使用して Notepad++ に不正な WM_COPYDATA メッセージを送信することが可能でした。ハンドラは COPYDATASTRUCT.cbData の制限を強制せず、COPYDATASTRUCT.lpData を終端なしの NUL 文字で終わる wchar_t* として処理していました。この脆弱性はバージョン 8.9.6.1 で修正されています。
Notepad++は無料のオープンソースのソースコードエディタです。バージョン8.9.6.1以前では、config.xmlのGUIConfig name="commandLineInterpreter"タグがNppXml::value()(Parameters.cpp:6430)によって読み取られ、検証やホワイトリスト、デジタル署名チェックなしに_nppGUI._commandLineInterpreterに保存されます。ユーザーがIDM_FILE_OPEN_CMD(ファイル → 含まれるフォルダを開く → cmd)をトリガーすると、NppCommands.cpp:228でこの値を持つCommandオブジェクトが作成され、run()が呼び出されます。攻撃者が制御する文字列が実行可能パスとしてShellExecute(RunDlg.cpp:221)によって呼び出されます。この脆弱性はバージョン8.9.6.1で修正されました。
Notepad++は無料でオープンソースのソースコードエディタです。8.9.6.1より前のバージョンでは、shortcuts.xml内のUserDefinedCommandsの中のCommandタグのテキスト内容が、feedUserCmds()関数内のNppXml::value(aNode)(Parameters.cpp:3658)によって読み取られ、検証なしにUserCommand._cmdに格納されます。ユーザーがRunメニューの対応するエントリをクリックすると、NppCommands.cpp:4264でstring2wstring(ucmd.getCmd())を用いてCommandオブジェクトが作成されrun()が呼ばれ、ShellExecute (RunDlg.cpp:221)が攻撃者が制御する文字列を実行ファイルのパスとして実行します。挿入されたコマンドはRunメニューに通常のメニュー項目として表示されるため、持続的な攻撃が可能な手段となります。この脆弱性はバージョン8.9.6.1で修正されています。
pnpmはパッケージマネージャーです。バージョン10.33.4および11.0.7より前のバージョンでは、悪意のあるcodeload.github.comサーバーが任意のtarballを提供でき、pnpmはロックファイルに関係なくそれをインストールしてしまいます。ロックファイルにはhttps://codeload.github.comからの依存関係のハッシュが保存されていません。これは、もしこのサーバーが侵害された場合やユーザーのマシン構成が侵害された場合に、pnpmがこれらの依存関係をダウンロードおよびインストールしてしまうことを意味します。この脆弱性はバージョン10.33.4および11.0.7で修正されました。
pnpmはパッケージマネージャーです。バージョン10.34.0および11.4.0以前のpnpmでは、lockfileで管理されているgitのresolution.commit値を、区切り文字「--」やコミット形式の検証なしにgit fetchに渡します。shallow-fetch経路を通じて取得されるgit依存関係の場合、悪意のあるlockfileによって、予期される40文字のコミットハッシュが「--upload-pack=command」のようなGitオプションに置き換えられる可能性があります。SSHおよびローカルトランスポートでは、--upload-packが指定されたコマンドを実行できます。HTTPSトランスポートは--upload-packを無視するため、実際の攻撃対象は主にSSHまたはローカルのgit依存関係になります。この脆弱性はバージョン10.34.0および11.4.0で修正されています。
pnpmはパッケージマネージャーです。バージョン10.34.0および11.4.0より前のpnpmのパッチ適用パイプライン(@pnpm/patch-package)は、.patchファイルから抽出されたファイルパスに対してパスの検証を行いません。そのため、攻撃者がプルリクエストを通じて悪意のあるパッチファイルを提供すると、pnpm installの実行中にインストールを実行しているユーザーの権限で、攻撃者が制御する内容をファイルシステムの任意のファイルに書き込んだり削除したりすることが可能になります。diff --gitヘッダのパスに含まれる../../シーケンスはパッケージディレクトリの外部にトラバースしますが、パッチファイルのdiffヘッダはほとんどのレビュアーにとって不透明であるため、コードレビューでこれを検出することは困難です。この脆弱性はバージョン10.34.0および11.4.0で修正されています。
pnpmはパッケージマネージャーです。バージョン10.34.0および11.4.0より前のpnpmでは、tarball抽出ワーカーがlockfileのresolutionにintegrityフィールドが存在しない場合に整合性検証をスキップしていました。攻撃者がpnpm-lock.yamlを改ざんし、integrityフィールドを削除して参照されているレジストリURLが変更されたパッケージコンテンツを提供できる場合、pnpm install --frozen-lockfileは整合性エラーを発生させずに変更されたパッケージをインストールしてしまいます。npmのnpm ciはデフォルトで整合性を強制しますが、pnpmが検証を静かにスキップする動作はpnpmに固有のfail-open脆弱性となっています。この脆弱性はバージョン10.34.0および11.4.0で修正されました。
pnpmはパッケージマネージャーです。バージョン10.34.0および11.4.0以前では、非フリーズモードでの`pnpm install`は、ダウンロードしたtarballがpnpm-lock.yamlに記録された整合性と一致しないことを検出した後でも、新しいリモートパッケージの内容を受け入れることがありました。パッケージがすでに整合性値でロックされている場合でも、レジストリが同じパッケージ名とバージョンに対して異なるメタデータとtarballの内容を後から提供すると、pnpmは最初に整合性不一致を報告します。しかし、その後の通常のpnpm installは問題を解決し、レジストリの新しい整合性を受け入れてロックファイルを更新し、新しい内容をインストールして正常に終了します。これは、ロックファイルの整合性チェックがデフォルトで厳格な停止措置として機能しないことを意味します。この脆弱性はバージョン10.34.0および11.4.0で修正されました。
Revive Adserver 6.0.7およびそれ以前のバージョンにおいて、`tracker-campaigns.php`スクリプトでキャンペーンとトラッカーのリンク解除に対する適切な所有権検証が行われていなかったため、権限の低いユーザーが他の管理者のキャンペーンに自分のトラッカーをリンクさせて、不整合な所有権関係を引き起こす可能性があります。
Revive Adserver 6.0.7およびそれ以前のバージョンのzone-include.phpスクリプトには、ユーザー入力の検証が不十分な脆弱性があります。権限の低いユーザーがiFrame呼び出しタグのrefreshパラメータを悪用し、リフレクト型XSS攻撃を実行する可能性があります。
この脆弱性は修正を回避する手法です。phucrioおよびoffsetmdによって報告された類似の手法の変種も存在します。許可されていないが有効なプラグイン識別子をtypeとして送信するか、ox.setChannelTargetingというXML-RPC APIメソッドを使用することで、この修正を回避できます。
Revive Adserver 6.0.7の`maintenance-acl-check.php`および`maintenance-banners-check.php`ツールに格納型XSSの脆弱性があります。この問題は、不整合が検出された際にエンティティ名が適切にエスケープされずに表示されるため発生します。XSSペイロードが管理者が影響を受けるメンテナンスツールを使用した際に実行されるかどうかは、攻撃者の完全な制御下にありません。
Revive Adserver 6.0.7におけるXML-RPC APIの管理者専用制限を回避する脆弱性について説明します。ox.loginメソッドのAPIレスポンスはHTTPヘッダにセッションIDクッキーを返しており、メソッド自体は正しくエラーを返しましたが、関連付けられたセッションは無効化されませんでした。その結果、漏洩したセッションIDを用いて制限なくその後のAPI呼び出しが可能となりました。
stats-video.phpスクリプトにはユーザー入力に対するサニタイズが欠如している脆弱性があります。このスクリプトのURL構築方法はベストプラクティスに従っておらず、Smartyのカスタムヘルパー関数であるurlの出力は適切にエンコードもサニタイズもされていませんでした。そのため、ユーザーからの入力がエスケープされずに反映されてしまいます。
Notepad++は無料でオープンソースのソースコードエディタです。バージョン8.9.6.4以前では、NppCommands.cppはユーザーコマンド実行時(チェック時点)にディスク上のshortcuts.xmlのHMACを確認します。しかし、コマンドのペイロードはアプリケーション起動時に読み込まれ、その後はディスク上のファイルと再同期されないメモリ内の_userCommandsベクターから取得されます(使用時点)。起動とコマンド実行の間にshortcuts.xmlを差し替えると、HMACチェックはクリーンなファイルを検証しつつ、悪意のあるコマンドを実行します。shortcuts.xmlへの書き込み権限を持つ攻撃者は、起動前に悪意あるバージョンをディスクに置き、その直後に正規のファイルに戻すことが可能です。実行時のHMACチェックは正規のファイルを検証するためチェックに合格しますが、悪意あるペイロードはメモリから実行されます。この脆弱性はバージョン8.9.6.4で修正されました。
LibreChatは複数のAIプロバイダーをサポートする強化版ChatGPTクローンです。0.8.4-rc1以前のバージョンでは、ファイルアップロードに関する制限が一部のエンドポイントで適切に設定されておらず、認証済みユーザーが任意のサイズのファイルをアップロードできる状態でした。その結果、サーバーのディスク容量やメモリを枯渇させる可能性がありました。この問題は0.8.4-rc1で修正されました。
LibreChatは複数のAIプロバイダーをサポートする強化されたChatGPTクローンです。0.8.4-rc1以前のバージョンには、LibreChatのマークダウンアーティファクトプレビューパイプラインに脆弱性が存在していました。markedライブラリv15.0.12では、カスタムレンダラーがデフォルトレンダラーにフォールスルーした場合、画像のaltテキスト内のダブルクオート文字をHTMLエスケープしません。LibreChatのgenerateMarkdownHtml関数(client/src/utils/markdown.ts内)は、isSafeUrlの許可リストチェックを通過したURLに対してfalseを返すカスタム画像レンダラーをインストールしており、これによりmarkedは組み込みのレンダラーにフォールバックします。その組み込みのレンダラーはダブルクオート文字をエスケープせずにalt="..."属性に生のaltテキストを挿入します。攻撃者はaltテキストとして" onload="payloadのような文字列を巧妙に作成し、属性から抜け出して任意のイベントハンドラーを注入できます。生成されたHTMLはSandpackプレビューフレーム内のdocument.getElementById('content').innerHTMLに割り当てられ、ペイロードが被害者のブラウザで実行されます。この脆弱性は0.8.4-rc1で修正されました。
LibreChatは複数のAIプロバイダーをサポートする強化されたChatGPTクローンです。0.8.4-rc1以前のバージョンでは、DELETE /api/messages/:conversationId/:messageIdエンドポイントにおいて、認証済みユーザーであれば誰でも他のユーザーのメッセージを削除できるという問題がありました。validateMessageReqミドルウェアはconversationIdが要求ユーザーに属していることのみを検証しますが、ハンドラーはMongoDBのフィルターとしてmessageIdのみを使用してdeleteMessages({messageId})を呼び出し、ユーザーの制約を追加していません。そのため、攻撃者は自身の有効なconversationId(検証通過のため)と被害者のmessageId(削除対象)を提供し、メッセージを恒久的かつ復元不可能に削除することが可能でした。この脆弱性は0.8.4-rc1で修正されています。
LibreChatは複数のAIプロバイダーをサポートする強化されたChatGPTクローンです。0.8.4-rc1以前のバージョンでは、LibreChatはユーザーがbaseURLを設定することでカスタムのOpenAI互換APIエンドポイントを構成できました。このURLはSSRF検証なしでHTTPリクエストの構築に使用されていました。つまり、プライベートIPのチェックもスキーム制限もDNSピニングもありませんでした。認証されたユーザーはbaseURLを内部ネットワークアドレスに設定できました。この脆弱性は0.8.4-rc1で修正されました。
LibreChatは複数のAIプロバイダーをサポートする強化されたChatGPTクローンです。0.8.4-rc1以前のバージョンでは、急速な会話の複製を防ぐためにPOST /api/convos/forkにforkIpLimiterとforkUserLimiterというレートリミッターが追加されていました。しかし、同じファイル内にあるPOST /api/convos/duplicateエンドポイントにはレートリミッターが設定されていませんでした。このエンドポイントは同じく高コストなデータベース操作を行います。認証されたユーザーは/forkの代わりに/duplicateを使用することで制限を回避でき、サーバーリソースを枯渇させる攻撃が可能でした。この脆弱性は0.8.4-rc1で修正されています。
LibreChatは複数のAIプロバイダーをサポートする強化されたChatGPTクローンです。0.8.4-rc1より前のバージョンでは、POST /api/auth/2fa/backup/regenerateエンドポイントがTOTPトークンや既存のバックアップコードの検証を要求せずに、すべての2FAバックアップコードを再生成していました。攻撃者は盗まれたセッショントークンを使って被害者のバックアップコードを密かに置き換え、その結果、それを用いて2FAログインを回避したり、2FAを完全に無効化したりできます。この脆弱性は0.8.4-rc1で修正されました。
脆弱性情報(JVN) よくある質問
脆弱性を製品名やベンダ名で検索できますか?
はい。製品・ベンダ・脆弱性タイプ(CWE)で全文検索し、深刻度(CVSS)で絞り込めます。発表日の新しい順に表示します。
CVSS(深刻度)とは何ですか?
脆弱性の深刻さを0〜10で表す共通指標です。数値が大きいほど影響が大きく、緊急・重要・警告・注意などの区分で絞り込めます。
影響を受ける製品やベンダ企業は分かりますか?
各脆弱性の詳細ページで、影響を受ける製品・ベンダを確認できます。ベンダ名は法人検索と突き合わせて企業情報もたどれます。
情報の出典を教えてください。
JVN(IPA〔情報処理推進機構〕・JPCERT/CC 提供)の公開情報を収録しています。対応の要否は必ず各JVN詳細・公式情報でご確認ください。
出典:JVN(Japan Vulnerability Notes・独立行政法人情報処理推進機構(IPA)/JPCERT コーディネーションセンター/jvn.jp)を加工して作成。 全文検索は当サイト収録分(全289,756件)を対象とし、発表日の新しい順に表示しています。 本情報の最新性・正確性・完全性は保証されません。詳細は各 JVN 詳細ページをご確認ください。 なお本情報は製品・ソフトウェアの脆弱性に関するものであり、特定の法人・製品ベンダの評価や信用性を示すものではありません。