CVE-2022-50581
Vulnérabilité élevée dans Linux (Linux)
Description
In the Linux kernel, the following vulnerability has been resolved: hfs: fix OOB Read in __hfs_brec_find Syzbot reported a OOB read bug: ================================================================== BUG: KASAN: slab-out-of-bounds in hfs_strcmp+0x117/0x190 fs/hfs/string.c:84 Read of size 1 at addr ffff88807eb62c4e by task kworker/u4:1/11 CPU: 1 PID: 11 Comm: kworker/u4:1 Not tainted 6.1.0-rc6-syzkaller-00308-g644e9524388a #0 Workqueue: writeback wb_workfn (flush-7:0) Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1b1/0x28e lib/dump_stack.c:106 print_address_description+0x74/0x340 mm/kasan/report.c:284 print_report+0x107/0x1f0 mm/kasan/report.c:395 kasan_report+0xcd/0x100 mm/kasan/report.c:495 hfs_strcmp+0x117/0x190 fs/hfs/string.c:84 __hfs_brec_find+0x213/0x5c0 fs/hfs/bfind.c:75 hfs_brec_find+0x276/0x520 fs/hfs/bfind.c:138 hfs_write_inode+0x34c/0xb40 fs/hfs/inode.c:462 write_inode fs/fs-writeback.c:1440 [inline] If the input inode of hfs_write_inode() is incorrect: struct inode struct hfs_inode_info struct hfs_cat_key struct hfs_name u8 len # len is greater than HFS_NAMELEN(31) which is the maximum length of an HFS filename OOB read occurred: hfs_write_inode() hfs_brec_find() __hfs_brec_find() hfs_cat_keycmp() hfs_strcmp() # OOB read occurred due to len is too large Fix this by adding a Check on len in hfs_write_inode() before calling hfs_brec_find().
Gravité et risque d'exploitation
CVE-2022-50581 obtient un score CVSS de 7.8/10, soit une gravité élevée. Selon le modèle EPSS, la probabilité qu'elle soit exploitée dans les 30 prochains jours est de 0.18 %, ce qui la place devant 7.5 % des CVE référencées.
Que faire ?
- Vérifiez si Linux (versions <=6.1.*, <8c40f2dbae603ef0bd21e87c63f54ec59fd88256, 2.6.12, <bfc9d8f27f89717431a6aecce42ae230b437433f, <4fd3a11804c8877ff11fec59c5c53f1635331e3e, <90103ccb6e60aa4efe48993d23d6a528472f2233, 0, <c886c10a6eddb99923b315f42bf63f448883ef9a, 4.14.303, <2.6.12, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, <=4.9.*, 4.19.270, <e9e692917c6e10a7066c7a6d092dcdc3d4e329f3, <=5.10.*, <=4.14.*, <=6.0.*, 5.4.229, <2344f17c0a89c181ab1a9fef57fd8c3bddfd6e30, 6.0.16, <=5.4.*, <=4.19.*, <8d824e69d9f3fa3121b2dda25053bae71e2460d2, 4.9.337, <367296925c7625c3969d2a78d7a3e1dee161beb5, 5.10.163, <=*, <=5.15.*, 6.1.2, 6.2, 5.15.86) est présent sur votre parc.
- Appliquez le correctif ou la version corrigée indiqués dans les références de l'éditeur.
- À défaut de correctif, limitez l'exposition (filtrage réseau, désactivation du composant).
- Automatisez la détection : les agents CVE Heimdall (gratuits, open source) corrèlent l'inventaire de vos serveurs avec la base CVE.
Références
- https://git.kernel.org/stable/c/8c40f2dbae603ef0bd21e87c63f54ec59fd88256
- https://git.kernel.org/stable/c/c886c10a6eddb99923b315f42bf63f448883ef9a
- https://git.kernel.org/stable/c/2344f17c0a89c181ab1a9fef57fd8c3bddfd6e30
- https://git.kernel.org/stable/c/90103ccb6e60aa4efe48993d23d6a528472f2233
- https://git.kernel.org/stable/c/4fd3a11804c8877ff11fec59c5c53f1635331e3e
- https://git.kernel.org/stable/c/367296925c7625c3969d2a78d7a3e1dee161beb5
- https://git.kernel.org/stable/c/e9e692917c6e10a7066c7a6d092dcdc3d4e329f3
- https://git.kernel.org/stable/c/bfc9d8f27f89717431a6aecce42ae230b437433f
- https://git.kernel.org/stable/c/8d824e69d9f3fa3121b2dda25053bae71e2460d2
