JVNDB-2026-014358 | |
LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。ksmbdのsmb_check_perm_dacl()関数でACEの最小サイズを適切に要求するように改善されました。smb_check_perm_dacl()内の両方のACEウォークループは、残りのバッファが小さすぎる場合のみ防御しており、構造体より小さいと宣言されたace-sizeに対しては防御していませんでした。最初のチェックは4バイトのACEヘッダーが範囲内であることのみを要求しており、offset 4のaccess_req(4バイト)が読み取り可能であることは要求していませんでした。攻撃者が所有するファイルに細工されたDACLを設定すると、ace-sizeが4かつaces_sizeが4と宣言し、両方のチェックを通過した後、上位ループでgranted |= le32_to_cpu(ace-access_req);を、下位ループでcompare_sids(&sid, &ace-sid);を呼び出しますが、これはoffset 4のaccess_req(最大4バイトのOOB)およびoffset 8のace-sid(最大CIFS_SID_BASE_SIZE + SID_MAX_SUB_AUTHORITIES * 4バイトのOOB)を読み取る結果となります。これらの両ループを厳密化し、ace_sizeがoffsetof(struct smb_ace, sid) + CIFS_SID_BASE_SIZE以上であることを要求するようにしました。これは最小の有効なオンワイヤACEレイアウト(4バイトヘッダー+4バイトaccess_req+8バイトのsidベースでサブ認証なし)です。また、compare_sids()はsub_auth[]エントリを参照する前にsid.num_subauthがSID_MAX_SUB_AUTHORITIESを超えるACEを却下するようにしました。parse_sec_desc()は既に同等のチェックを実施していました(行441から448)が、smb_check_perm_dacl()は時間経過とともに検証が弱くなっていました。到達条件はファイルのACL設定権限を持つ認証済みSMBクライアントです。そのファイルに対するCREATE操作時にカーネルが保存されたDACLをsmb_check_perm_dacl()経由で走査し、OOB読み取りを引き起こします。これは事前認証ではなく、OOB読み取りの影響は攻撃者に反映されませんが、KASANレポートやカーネル状態の破損が発生する可能性があります。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 8.3 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/05/01 |
| 登録日 | 2026/05/08 |
| 最終更新日 | 2026/05/08 |



