CVE-2023-32309
Arbitrary file inclusion with the pymdowm-snippets extension
- 公開済み
- 2023/05/15
- 更新済み
- 2025/01/22
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N低 · 今後 30 日間
- パーセンタイル
- 75.2%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
PyMdown Extensions は、`Python-Markdown` マークダウンプロジェクト用の拡張機能セットです。影響を受けるバージョンでは、include ファイル構文を使用する際に任意のファイル読み取りが可能になります。`--8<--"/etc/passwd"` または `--8<--"/proc/self/environ"` という構文を使用すると、これらのファイルの内容が生成されたドキュメントにレンダリングされます。さらに、指定された許可ベースパスに対する相対パスを使用して、指定されたベースパス外のファイルの内容をレンダリングすることもできます: `--8<-- "../../../../etc/passwd"`。Snippets 拡張機能内には `base_path` オプションが存在しますが、その実装はディレクトリトラバーサルに対して脆弱です。脆弱な箇所は snippets.py の `get_snippet_path(self, path)` の155行目から174行目に存在します。プラグインが実行されているホスト上の読み取り可能なファイルは、その内容が公開される可能性があります。これは、Snippets の使用を外部ユーザーに公開するあらゆる用途に影響を与える可能性があります。Snippets をユーザー向けの動的コンテンツの処理に使用することは決して推奨されません。これはホストの制御下でバックエンド上の既知のコンテンツを処理するように設計されていますが、誰かが誤ってユーザー向けコンテンツに対して有効にしてしまった場合、望ましくない情報が公開される可能性があります。この問題はバージョン 10.0 で対処されています。ユーザーはアップグレードすることをお勧めします。アップグレードできないユーザーは、入力をフィルタリングして相対パスを制限することができます。
ソース
1教育用のセキュリティ研究と悪用分析のためのCVE-2023-32309脆弱性の最小限のDockerベースのデモンストレーション。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。