JVNDB-2026-025991 | |
LinuxのLinux Kernelにおける有効期限後のメモリの解放の欠如に関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。nfsdにおけるSETACLのデコード失敗時にposix_aclがリークする問題が修正されています。nfsaclsvc_decode_setaclargs()およびnfs3svc_decode_setaclargs()は、それぞれnfs_stream_decode_acl()を2回呼び出します。最初の呼び出しはNFS_ACL用、次の呼び出しはNFS_DFACL用です。各成功した呼び出しは、新規に割り当てられたposix_aclの所有権をargp->acl_accessまたはargp->acl_defaultに移します。最初の呼び出しが成功し、2回目の呼び出しが失敗した場合、デコーダはfalseを返し、argp->acl_accessにダングリングが残ります。ACLPROC2_SETACL.pc_releaseはnfssvc_release_attrstatに接続され、ACLPROC3_SETACL.pc_releaseはnfs3svc_release_fhandleに接続されています。どちらもfh_put()のみを呼び出し、argpのACLフィールドには対応していません。posix_acl_release()の呼び出しはnfsacld_proc_setacl()およびnfsd3_proc_setacl()内のoutラベルにありますが、svc_process()はpc_decodeがfalseを返した場合にpc_funcをスキップするため、デコード失敗時にクリーンアップが行われません。 具体的には以下のような呼び出し順です。 svc_process_common() pc_decode() /* decode_setaclargs: false */ /* pc_func skipped */ pc_release() /* fh_putのみが実行され、ACLはリークする */このため、孤立したposix_aclがサーバの稼働期間中にリークします。修正として、nfsaclsvc_release_setacl()およびnfs3svc_release_setacl()を追加し、fh_put()に加えてargp->acl_accessとargp->acl_defaultの両方を解放するようにしました。そして、それらをそれぞれのSETACLプロシージャのpc_releaseとして接続しました。pc_releaseはデコード後にsvc_process()が通るすべての経路で実行され、デコード失敗時も含まれます。これによりposix_acl_release()の呼び出しはproc関数内のoutラベルから削除され、所有権の管理が一か所に集約されます。この修正は兄弟であるGETACLプロシージャで使われている既存のrelease_getacl()パターンと一致しています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/19 |
| 登録日 | 2026/07/30 |
| 最終更新日 | 2026/07/30 |



