CVE-2026-23950
node-tar は macOS APFS 上で Unicode 合字衝突を介したパス予約におけるレースコンディションの影響を受けます
- 公開済み
- 2026/01/20
- 更新済み
- 2026/09/01
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/25
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:L低 · 今後 30 日間
- パーセンタイル
- 17.7%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
# node-tar、Node.js用Tar、バージョン7.5.3以前に競合状態の脆弱性 node-tar(Node.js用のTar)には、バージョン7.5.3以前に競合状態の脆弱性が存在します。これは、`path-reservations`システムにおけるUnicodeパス衝突の不完全な処理に起因します。大文字小文字を区別しない、または正規化を区別しないファイルシステム(テスト済みのmacOS APFSなど)では、ライブラリが衝突するパス(例:`ß`と`ss`)をロックできず、それらが並行して処理される可能性があります。これにより、ライブラリ内部の並行処理保護機構が回避され、競合状態を介したシンボリックリンクポイズニング攻撃が可能になります。このライブラリは`PathReservations`システムを使用して、同じパスに対するメタデータチェックとファイル操作が直列化されることを保証しています。これにより、あるエントリが別のエントリを同時に上書きする競合状態を防いでいます。これは任意のファイル上書きを可能にする競合状態です。この脆弱性は、macOS(APFS/HFS+)上でnode-tarを使用するユーザーおよびシステムに影響を与えます。`NFD` Unicode正規化(`ß`と`ss`が異なるものとして扱われる)を使用しているため、Unicode正規化を無視するファイルシステム(例:`ß`が`ss`とinode衝突を引き起こすAPFS)では、衝突するパスの順序が適切に保持されません。これにより、攻撃者は悪意のあるtarアーカイブ内の競合するファイル名を使用して、内部の並列化ロック(`PathReservations`)を回避できます。バージョン7.5.4のパッチでは、`path-reservations.js`を更新し、対象ファイルシステムの動作に一致する正規化形式(例:`NFKD`)を使用し、その後に最初に`toLocaleLowerCase('en')`、次に`toLocaleUpperCase('en')`を適用します。回避策として、迅速にアップグレードできないユーザーで、プログラム的に`node-tar`を使用して任意のtarballデータを展開する場合は、すべての`SymbolicLink`エントリを除外(npmが行うように)して、このファイルシステムエントリ名の衝突問題による任意のファイル書き込みから防御してください。
ソース
1Proof-of-conceptは、tar npmパッケージ(v7.5.3)におけるレースコンディションを実証するもので、並列展開中にファイルの衝突を引き起こし、データの破損や上書きにつながります。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。