CVE-2025-22048: LoongArch: BPF: Don't override subprog's return value
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).
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel bug in LoongArch BPF handling. A specific BPF subprogram return-value path can corrupt the expected return register behavior and trigger a kernel panic. The public sources do not provide CVSS, CWE, or exploitation evidence, so urgency depends mainly on whether LoongArch Linux kernels are present in your fleet.
Executive priority
Treat this as a targeted kernel maintenance issue, not a confirmed emergency. Prioritize if the organization operates LoongArch Linux systems. If no LoongArch assets exist, business exposure is likely low, based on the provided evidence.
Technical view
The bug is in LoongArch BPF return-value handling after sign-extension changes. For bpf2bpf calls, a zero-extended return value should remain in a5, but the path could propagate a0 back into a5, unlike native calls. The fix limits a0-to-a5 movement to native calls, excluding BPF_PSEUDO_CALL.
Likely exposure
Exposure appears limited to Linux systems running affected LoongArch kernel builds. The bundle does not indicate impact to other architectures. Organizations should map kernel versions and distro backports against the CVE record and referenced stable commits.
Exploitation context
The bundle provides no evidence of active exploitation, and KEV is false. The described trigger is a verifier test causing a panic at an ld.bu instruction. Exploitation prerequisites, required privileges, and practical impact are not established in the provided sources.
Researcher notes
Key uncertainty is impact. Sources show a kernel panic during verifier testing, but do not provide CVSS, CWE, exploitability analysis, or attacker prerequisites. Research should focus on affected LoongArch kernel ranges, BPF access requirements, and distro backport status.
Mitigation direction
Apply vendor Linux kernel updates that include the referenced stable fixes.
Check distro advisories for backported fixes before relying on version numbers alone.
Prioritize LoongArch hosts where BPF use is allowed or expected.
Reboot into the updated kernel after patch installation.
Avoid assuming an unsupported workaround; follow kernel or distro guidance.
Validation and detection
Inventory hosts by CPU architecture and running Linux kernel version.
Identify LoongArch systems and compare them with CVE-2025-22048 affected entries.
Verify the running kernel includes a referenced stable fix or distro backport.
Confirm update deployment actually changed the booted kernel.
Document any unpatched LoongArch systems and compensating controls.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-22048 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
6Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Apr 16, 2025, 14:12 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.