CVE-2025-39822
NoneCVSS
—
EPSS
0.1%
Published
Sep 16, 2025
CISA due date
—
Cloudanix analysis
A calculation error in how the system handles large data buffers could let attackers interfere with memory and crash or take control of the computer.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Signedness bug converts unsigned buffer length to signed int during commit, allowing large values to be treated as negative and causing incorrect min_t results in io_uring buffer handling.
Why it matters to the business
Kernel memory corruption risk can lead to system instability, crashes, or potential code execution in environments using io_uring, increasing downtime and requiring urgent patching across Linux deployments.
How an attack unfolds
An attacker supplies a buffer whose length exceeds INT_MAX when imported; the subsequent cast to signed int produces a negative value, bypassing intended length checks and enabling out-of-bounds memory operations during buffer commit.
How to fix it
Upgrade Linux kernel to commit f4f411c068402c370c4f9a9d4950a97af97bbbb1 or later; for fdclone packages update to version 2.04-1 or newer on all supported Debian releases.
How to confirm the fix worked
Verify running kernel contains the referenced commit or package version 2.04-1+; inspect source for unsigned min_t usage on buf->len and confirm no signed conversion remains in kbuf commit logic.
Typical attack path
- Identify io_uring-using process or service
- Register or import a buffer with length > INT_MAX
- Trigger commit path that performs signed min_t calculation
- Induce negative length interpretation to corrupt adjacent memory
- Leverage corruption for denial of service or privilege escalation
How to detect it
Review kernel logs for io_uring buffer commit warnings or oops involving negative lengths; search audit trails for processes registering oversized buffers before crashes.
What your security team should do
- Prioritize kernel and fdclone updates on all production systems within 30 days
- Audit workloads for io_uring usage and apply least-privilege restrictions
- Monitor EPSS trend and re-evaluate if exploit code appears
- Test updated kernels in staging before broad deployment
The record
In the Linux kernel, the following vulnerability has been resolved: io_uring/kbuf: fix signedness in this_len calculation When importing and using buffers, buf->len is considered unsigned. However, buf->len is converted to signed int when committing. This can lead to unexpected behavior if the buffer is large enough to be interpreted as a negative value. Make min_t calculation unsigned.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Chainguard | hyperv-daemons-6.12 | 0 | 6.12.60-r2 |
| Chainguard | linux-aws-6.12-boot-installed | 0 | 6.12.60-r2 |
| Chainguard | linux-aws-6.12-fips-boot-installed | 0 | 6.12.60-r2 |
| Chainguard | linux-aws-6.12-headers | 0 | 6.12.60-r2 |
| Chainguard | linux-aws-6.12-modules | 0 | 6.12.60-r2 |
| Chainguard | linux-azure-6.12-boot-installed | 0 | 6.12.60-r2 |
| Chainguard | linux-azure-6.12-fips-boot-installed | 0 | 6.12.60-r2 |
| Chainguard | linux-azure-6.12-headers | 0 | 6.12.60-r2 |
| Chainguard | linux-azure-6.12-modules | 0 | 6.12.60-r2 |
| Chainguard | linux-gcp-6.12-boot-installed | 0 | 6.12.60-r2 |
| Chainguard | linux-gcp-6.12-fips-boot-installed | 0 | 6.12.60-r2 |
| Chainguard | linux-gcp-6.12-headers | 0 | 6.12.60-r2 |
| Chainguard | linux-gcp-6.12-modules | 0 | 6.12.60-r2 |
| Chainguard | linux-qemu-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-modules | 0 | 6.12.63-r0 |
| Debian:13 | linux | 0 | No fix |
| Debian:14 | linux | 0 | 6.16.5-1 |
| Linux | Kernel | 6.12.0 | 6.16.5 |
| Linux | Kernel | 6.15.0 | 6.16.5 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.8.1.160000.2.5 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.8.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.8.1 |
Related vulnerabilities
- CVE-2025-39910 In the Linux kernel, the following vulnerability has been resolved: mm/vmalloc, mm/kasan… Also affects hyperv-daemons-6.12
- CVE-2025-39925 can: j1939: implement NETDEV_UNREGISTER notification handler Also affects hyperv-daemons-6.12
- CVE-2025-39905 net: phylink: add lock for serializing concurrent pl->phydev writes with resolver Also affects hyperv-daemons-6.12
- CVE-2025-39862 In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915… Also affects hyperv-daemons-6.12
- CVE-2025-39859 In the Linux kernel, the following vulnerability has been resolved: ptp: ocp: fix… Also affects hyperv-daemons-6.12
- CVE-2025-39834 In the Linux kernel, the following vulnerability has been resolved: net/mlx5: HWS, Fix… Also affects hyperv-daemons-6.12
- CVE-2025-39830 In the Linux kernel, the following vulnerability has been resolved: net/mlx5: HWS, Fix… Also affects hyperv-daemons-6.12
- CVE-2025-39833 In the Linux kernel, the following vulnerability has been resolved: mISDN: hfcpci: Fix… Also affects hyperv-daemons-6.12