CVE-2010-3904 の詳細
CVEの情報
説明:
The rds_page_copy_user function in net/rds/page.c in the Reliable Datagram Sockets (RDS) protocol implementation in the Linux kernel before 2.6.36 does not properly validate addresses obtained from user space, which allows local users to gain privileges via crafted use of the sendmsg and recvmsg system calls.
CVE更新日: 2010-12-06 20:13:00.513000
CVSSバージョン: 3.1
CVSSスコア: 7.8
KEVの情報
KEV更新日: 2023-05-12
EPSSの情報
EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。
EPSSスコア: 0.022180000
EPSS更新日: 2026-06-12 00:00:00
SSVCの情報
SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。
Exploitation: active
Technical Impact: high
Automatable: False
CVE-2010-3904について、以下の観点で解説します。
1. 脆弱性の概要
LinuxカーネルのReliable Datagram Sockets (RDS) プロトコル実装における
net/rds/page.c内のrds_page_copy_user関数は、ユーザースペースから取得したアドレスを適切に検証していません。これにより、ローカルユーザーはsendmsgおよびrecvmsgシステムコールの巧妙な利用を通じて特権を取得する可能性があります。この脆弱性は、Linuxカーネルバージョン2.6.30で導入されました。
1.1 影響 ローカル攻撃者は、影響を受けるシステム上で権限を昇格させ、root権限を取得することが可能です。 この脆弱性が悪用された場合、マルウェアのインストール、機密データの窃盗、システム運用の妨害など、様々な悪意のある活動につながる可能性があります。 また、カーネルメモリの任意の読み書きを実行できる可能性があります。
1.2 深刻度 この脆弱性は「Critical(致命的)」または「High risk(高リスク)」と評価されており、既知の公開エクスプロイトが存在するため、高い優先度で対処すべきです。
2. 対象となる環境
2.1 影響を受けるOSバージョン Linuxカーネルバージョン2.6.36より前のバージョンが影響を受けます。 具体的な影響バージョンは以下の通りです。
rdsモジュールが-extraサブパッケージに含まれている場合にのみ影響を受けます。2.2 影響を受ける設定 Reliable Datagram Sockets (RDS) プロトコルが実装されているシステムが影響を受けます。
3. 影響を受けた時の兆候
この脆弱性が悪用された場合、ローカルの非特権ユーザーがroot権限に昇格します。 これは、通常アクセス権限を持たないユーザーがシステム上で最高レベルの特権を実行できるようになるという形で現れます。具体的なシステムクラッシュやエラーメッセージといった兆候は直接報告されていませんが、不正な特権昇格が成功したことが直接的な兆候となります。攻撃は、細工されたパケットを
sendmsgおよびrecvmsgシステムコールを介して送信することで実行されます。4. 推奨対策
4.1 本対策 * Linuxカーネルをバージョン2.6.36以降にアップデートしてください。 * 各ベンダーから提供されるセキュリティ修正プログラム(パッチやセキュリティエラッタ)を適用してください。
4.2 暫定回避策(緩和策) * RDSを使用するアプリケーションを実行していない場合、
/etc/modprobe.d/blacklistファイルにblacklist rdsという行を追加して、rdsモジュールのロードを禁止することができます。 この変更は再起動を必要としませんが、lsmod | grep rdsコマンドでモジュールがロードされていないことを確認してください。 * カーネルモジュールのロードまたはアンロードを防止するために、現在のグローバルケイパビリティセットからCAP_SYS_MODULEケイパビリティを削除することを検討してください。これは、/proc/sys/kernel/cap-boundのデフォルト32ビット値の16ビット目をクリアすることで可能です(例:echo 0xFFFEFFFF > /proc/sys/kernel/cap-bound)。5. 他に解説すべき観点
参照したサイト