unbounded-spsc に 境界外読み取り (CVE-2026-46690)
概要
unbounded-spsc に 脆弱性 (CVE-2026-46690) が存在。不正な操作・情報露出のリスクがあります。unsafe 経由で攻撃可能。
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Summary
Sender::send in src/lib.rs contains an unsafe block in the DISCONNECTED arm that transmutes a raw pointer (*mut Producer) into the bytes of a value-level Consumer. The author's intent, visible in the surrounding comment at lines 386-390, was a value transmute. The shipped code is one level of indirection off.
The resulting Consumer has its internal Arc::ptr set to the address of the producer field on the Sender, not the real ArcInner>. Every subsequent consumer.try_pop() walks Buffer fields at offsets that lie inside the Sender struct (over send_new, inner) and adjacent memory, an out-of-bounds read. When the fake Consumer is dropped at the end of the unsafe block, its Drop calls Arc::drop_in_place on a non-ArcInner address: it decrements bytes that the type system treats as strong_count: AtomicUsize but that are actually the real Arc::ptr value of the Sender, and at zero count it calls dealloc(Layout::for_value(...)) on an address the allocator never returned.
Reachable from 100% safe Rust through the canonical channel pattern: a tx.send(msg) that races with rx.drop(). This is consistent with the SIGSEGV that issue #3 reports in your own test suite.
Affected code (0.2.0, master at 23a9ce7)
// src/lib.rs:384-401
DISCONNECTED => {
self.inner.counter.store (DISCONNECTED, Ordering::SeqCst);
// We want to guarantee if a message was not received that we get it
// back; since spsc…
出典: GitHub Security Advisories (Global) NVD GitHub Advisory
自動生成の要約
取得元のデータ (CVSS・CWE・影響バージョンなど) から SecPulse が定型文で組み立てた要約です。AI は使っていません。正確な内容は下の原文と参照URLで確認してください。
unbounded-spsc という製品で、CVE-2026-46690 という番号がついた弱点 (脆弱性) が見つかりました。
悪い人がインターネット越しに unsafe のような特定の入り口を狙うことで、製品の中を不正に操作できてしまいます。
不正な操作・情報露出のリスクがあります。重要度は CVSS スコア 5.8/10 です。
対策: ベンダー公式の修正版に更新してください。
心配なら、システム担当者や製品の公式サイトで「unbounded-spsc CVE-2026-46690」を検索してください。
CVE-2026-46690 (unbounded-spsc) — CWE-125 / CVSS v3 5.8
攻撃ベクター: ローカル / 被害者操作不要
脆弱箇所: unsafe / DISCONNECTED / producer / Sender
対応方針: 1) SBOMで影響バージョン横断確認, 2) ステージング検証→本番更新, 3) WAF/プロキシで該当エンドポイントを監視, 4) ログでIOC調査。
参考: 当ページの『参照URL』の GHSA / vendor advisory / patched release を参照。
unbounded-spsc に 境界外読み取り (CWE-125) があります。攻撃者は unsafe を経由して脆弱な処理に到達できます。
unbounded-spsc の影響バージョンはベンダーのアドバイザリで確認してください。攻撃箇所: unsafe / DISCONNECTED / producer / Sender。
重要度: 中 (CVSS 5.8/10)。不正な操作・情報露出のリスクがあります。
ベンダー公式アドバイザリの修正版に更新してください。
修正版が未提供時は、影響機能の無効化・WAFルール・ネットワークACLでの遮断を検討。
Webサーバ・プロキシ・WAFログで該当CVEのIOCに合致する不審リクエストを検索。SBOM/依存ファイルで影響バージョンを横断確認。
対応アクション
SOC/SREチームが順番に実行すべき具体的なステップとコマンド例
-
1影響範囲の特定 identify
grep -r 'unbounded-spsc' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
unbounded-spscを grep し、稼働しているサービス・バージョンを把握する。 -
2事後検証 verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
影響パッケージ
参照URL
- advisory nvd.nist.gov
- exploit github.com
- package github.com
- web github.com