English version →
カテゴリ
CVE-2026-46690 medium CVSS 5.8

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. 1
    影響範囲の特定 identify
    grep -r 'unbounded-spsc' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で unbounded-spsc を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    事後検証 verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

影響パッケージ

rust unbounded-spsc
[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}]
crates.io unbounded-spsc
[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.2.0"}]}]

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく