CVE-2025-22048

MediumCVSS 5.5/10Last modified Oct 30, 2026

Description

In the Linux kernel, the following vulnerability has been resolved:

LoongArch: BPF: Don't override subprog's return value

The verifier test `calls: div by 0 in subprog` triggers a panic at the ld.bu instruction. The ld.bu insn is trying to load byte from memory address returned by the subprog. The subprog actually set the correct address at the a5 register (dedicated register for BPF return values). But at commit 73c359d1d356 ("LoongArch: BPF: Sign-extend return values") we also sign extended a5 to the a0 register (return value in LoongArch). For function call insn, we later propagate the a0 register back to a5 register. This is right for native calls but wrong for bpf2bpf calls which expect zero-extended return value in a5 register. So only move a0 to a5 for native calls (i.e. non-BPF_PSEUDO_CALL).

Metrics

CVSS 3.1 5.5/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected software

VendorProductVersions
LinuxLinux>= 8382e92f90b601acf6d426121e6f4991502e767d, < d99845f672cce0b610f7c51248ef95d7df63927e; >= 0c8d50501bc13cacecc19caaddc10db372592a39, < 7df2696256a034405d3c5a71b3a4c54725de4404; >= d5d83242a1d778ceb6d8b07c6b491cf7483ca112, < 223d565d8892481684091cfbaf3466f2b0e289d3; >= 73c359d1d356cf10236ccd358bd55edab33e9424, < 780628a780b622759d9e5adc76d15432144da1a3; >= 73c359d1d356cf10236ccd358bd55edab33e9424, < 996e90ab446641553e8e21707b38b9709605e0e0; >= 73c359d1d356cf10236ccd358bd55edab33e9424, < 60f3caff1492e5b8616b9578c4bedb5c0a88ed14; 3b75f627b73d96787a493e2f1187543ba9c056a4; >= 6.1.120, < 6.1.191; >= 6.6.64, < 6.6.87; >= 6.12.2, < 6.12.23; >= 6.11.11, < 6.12
LinuxLinux6.13

References

Timeline

Published
Apr 16, 2025
Last modified
Oct 30, 2026
NVD status
Modified

Related CVEs from 2025

CVE-2025-220495.5In the Linux kernel, the following vulnerability has been resolved: LoongArch: Increase ARCH_DMA_MINALIGN up to 16 ARCH_DMA_MINALIGN is 1 CVE-2025-22054.8The GDPR Cookie Compliance – Cookie Banner, Cookie Consent, Cookie Notice – CCPA, DSGVO, RGPD plugin for WordPress is vulnerable to Stored CCVE-2025-220504.7In the Linux kernel, the following vulnerability has been resolved: usbnet:fix NPE during rx_complete Missing usbnet_going_away Check in CCVE-2025-220515.5In the Linux kernel, the following vulnerability has been resolved: staging: gpib: Fix Oops after disconnect in agilent usb If the agilentCVE-2025-220525.5In the Linux kernel, the following vulnerability has been resolved: staging: gpib: Fix Oops after disconnect in ni_usb If the usb dongle iCVE-2025-220535.5In the Linux kernel, the following vulnerability has been resolved: net: ibmveth: make veth_pool_store stop hanging v2: - Created a singleCVE-2025-220545.5In the Linux kernel, the following vulnerability has been resolved: arcnet: Add NULL check in com20020pci_probe() devm_kasprintf() returnsCVE-2025-220555.5In the Linux kernel, the following vulnerability has been resolved: net: fix geneve_opt length integer overflow struct geneve_opt uses 5 bCVE-2025-220567.8In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_tunnel: fix geneve_opt type confusion addition When hanCVE-2025-220575.5In the Linux kernel, the following vulnerability has been resolved: net: decrease cached dst counters in dst_release Upstream fix ac888d58CVE-2025-220585.5In the Linux kernel, the following vulnerability has been resolved: udp: Fix memory accounting leak. Matt Dowling reported a weird UDP memCVE-2025-220595.5In the Linux kernel, the following vulnerability has been resolved: udp: Fix multiple wraparounds of sk->sk_rmem_alloc. __udp_enqueue_sche
CVE-2025-22048: Medium severity, CVSS 5.5 | Vulnix