Bugzilla – Full Text Bug Listing |
Summary: | VUL-0: CVE-2021-45941: libbpf: heap-based buffer overflow (8 bytes) in __bpf_object__open (called from bpf_object__open_mem and bpf-object-fuzzer.c). | ||
---|---|---|---|
Product: | [Novell Products] SUSE Security Incidents | Reporter: | Alexander Bergmann <abergmann> |
Component: | Incidents | Assignee: | Security Team bot <security-team> |
Status: | IN_PROGRESS --- | QA Contact: | Security Team bot <security-team> |
Severity: | Normal | ||
Priority: | P3 - Medium | CC: | carlos.lopez, mrostecki, pgajdos, shung-hsi.yu, smash_bz, thomas.leroy, tonyj |
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | Other | ||
OS: | Other | ||
URL: | https://smash.suse.de/issue/319365/ | ||
Whiteboard: | CVSSv3.1:SUSE:CVE-2021-45941:5.1:(AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L) | ||
Found By: | Security Response Team | Services Priority: | |
Business Priority: | Blocker: | --- | |
Marketing QA Status: | --- | IT Deployment: | --- |
Description
Alexander Bergmann
2022-01-03 15:36:01 UTC
This is interesting: libbpf[1]> grep SUSE:SLE SUSE:SLE-15-SP3:GA libbpf SUSE:SLE-15-SP4:GA libbpf libbpf[1]> isc ls SUSE:SLE-15-SP3:GA/libbpf libbpf.changes libbpf.spec libbpf[0]> isc ls SUSE:SLE-15-SP4:GA/libbpf baselibs.conf libbpf-0.5.0.tar.gz libbpf.changes libbpf.spec libbpf[0]> How could that happen that there is just .spec and .changes? (In reply to Petr Gajdos from comment #1) > This is interesting: Not really. BuildRequires: kernel-source is the difference. This end up being an issue with how libbpf interpret the number of section header in an ELF file. Usually the number of section header is store in the e_shnum field so the ELF header. However, when the number of section header is >= 65280/0xff00, e_shnum will be zero, with the actual number of section header stored in the sh_size field of the 0th section header. I've confirm that using the elf_getshdrnum() helper to retrieve the number of section header instead of using e_shnum field directly fixes this issue CVE-2021-45941 and CVE-2021-45940 (bug 1194248). I will submit this fix along with fixes for a few other fuzzer-reported bugs that I discovered while running the fuzzer locally soon. Fix proposed upstream <https://lore.kernel.org/bpf/20221007174816.17536-2-shung-hsi.yu@suse.com/>. But it still needs a few more changes before getting merged. Will provide an update once it happens. Fix is now merged upstream https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?h=for-next&id=51deedc9b8680953437dfe359e5268120de10e30, the same fix needed for bug 1194249. This only affects Tumbleweed/Factory. I'll apply the fix there. (In reply to Shung-Hsi Yu from comment #12) > Fix is now merged upstream > https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/ > ?h=for-next&id=51deedc9b8680953437dfe359e5268120de10e30, the same fix needed > for bug 1194249. ^^^^^^^ Should say bug 1194248. Fix submitted to Tumbleweed/Factory in SR#1034423. Reassigning back to security team. |