Bug 1220252 (CVE-2024-26590)

Summary: VUL-0: CVE-2024-26590: kernel-source,kernel-source-azure,kernel-source-rt: erofs: fix inconsistent per-file compression format
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Goldwyn Rodrigues <rgoldwyn>
Status: NEW --- QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: andrea.mattiazzo, mkoutny, vasant.karasulli
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/394912/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-26590:5.5:(AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-02-23 09:38:14 UTC
In the Linux kernel, the following vulnerability has been resolved:

erofs: fix inconsistent per-file compression format

EROFS can select compression algorithms on a per-file basis, and each
per-file compression algorithm needs to be marked in the on-disk
superblock for initialization.

However, syzkaller can generate inconsistent crafted images that use
an unsupported algorithmtype for specific inodes, e.g. use MicroLZMA
algorithmtype even it's not set in `sbi->available_compr_algs`.  This
can lead to an unexpected "BUG: kernel NULL pointer dereference" if
the corresponding decompressor isn't built-in.

Fix this by checking against `sbi->available_compr_algs` for each
m_algorithmformat request.  Incorrect !erofs_sb_has_compr_cfgs preset
bitmap is now fixed together since it was harmless previously.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-26590
https://www.cve.org/CVERecord?id=CVE-2024-26590
https://lore.kernel.org/linux-cve-announce/2024022259-CVE-2024-26590-85a4@gregkh/T/#u

Patch:
https://git.kernel.org/stable/c/118a8cf504d7dfa519562d000f423ee3ca75d2c4
Comment 1 Andrea Mattiazzo 2024-02-23 09:38:41 UTC
Tracking as affected:
- SLE15-SP6