Buffer overflow in drivers/xen/sys-hypervisor.c
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.254, 5.15.204, 6.1.170, 6.6.137, 6.12.85, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: Buffer overflow in drivers/xen/sys-hypervisor.c The build id returned by HYPERVISOR_xen_version(XENVER_build_id) is neither NUL terminated nor a string. The first causes a buffer overflow as sprintf in buildid_show will read and copy till it finds a NUL. 00000000 f4 91 51 f4 dd 38 9e 9d 65 47 52 eb 10 71 db 50 |..Q..8..eGR..q.P| 00000010 b9 a8 01 42 6f 2e 32 |...Bo.2| 00000017 So use a memcpy instead of sprintf to have the correct value: 00000000 f4 91 51 f4 dd 00 9e 9d 65 47 52 eb 10 71 db 50 |..Q.....eGR..q.P| 00000010 b9 a8 01 42 |...B| 00000014 (the above have a hack to embed a zero inside and check it's returned correctly). This is XSA-485 / CVE-2026-31786
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in e3af585e1728c917682b6a3de9a69b41fb9194d4; From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in 8288d031a01dbacfde3fc643f7be3d23504de64d; From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in f458ba102da97fafca106327086fc95f3fc764cb; From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in 4b4defd2fce3f966c25adabf46644a85558f1169; From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in 5c5ff7c7bd15bb536f44b10b3fb5b8408f344d0a; From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in d5f59216650c51e5e3fcb7517c825bc8047f60ef; From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in 52cecff98bda2c51eed1c6ce9d21c5d6268fb19d; From 84b7625728ea311ea35bdaa0eded53c1c56baeaa · fixed in 27fdbab4221b375de54bf91919798d88520c6e28
- Linux Linux
4.13
- KernelLinux
From 4.13.0 · fixed in 5.10.254; From 5.11.0 · fixed in 5.15.204; From 5.16.0 · fixed in 6.1.170; From 6.2.0 · fixed in 6.6.137; From 6.7.0 · fixed in 6.12.85; From 6.13.0 · fixed in 6.18.26; From 6.19.0 · fixed in 7.0.3
References 8
git.kernel.org
- stable/c/e3af585e1728c917682b6a3de9a69b41fb9194d4
- stable/c/8288d031a01dbacfde3fc643f7be3d23504de64d
- stable/c/f458ba102da97fafca106327086fc95f3fc764cb
- stable/c/4b4defd2fce3f966c25adabf46644a85558f1169
- stable/c/5c5ff7c7bd15bb536f44b10b3fb5b8408f344d0a
- stable/c/d5f59216650c51e5e3fcb7517c825bc8047f60ef
- stable/c/52cecff98bda2c51eed1c6ce9d21c5d6268fb19d
- stable/c/27fdbab4221b375de54bf91919798d88520c6e28