LiveActive security incident?Get immediate response
CVE Record

CVE-2025-38165: bpf, sockmap: Fix panic when calling skb_linearize

In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix panic when calling skb_linearize The panic can be reproduced by executing the command: ./bench sockmap -c 2 -p 1 -a --rx-verdict-ingress --rx-strp 100000 Then a kernel panic was captured: ''' [ 657.460555] kernel BUG at net/core/skbuff.c:2178! [ 657.462680] Tainted: [W]=WARN [ 657.463287] Workqueue: events sk_psock_backlog ... [ 657.469610] <TASK> [ 657.469738] ? die+0x36/0x90 [ 657.469916] ? do_trap+0x1d0/0x270 [ 657.470118] ? pskb_expand_head+0x612/0xf40 [ 657.470376] ? pskb_expand_head+0x612/0xf40 [ 657.470620] ? do_error_trap+0xa3/0x170 [ 657.470846] ? pskb_expand_head+0x612/0xf40 [ 657.471092] ? handle_invalid_op+0x2c/0x40 [ 657.471335] ? pskb_expand_head+0x612/0xf40 [ 657.471579] ? exc_invalid_op+0x2d/0x40 [ 657.471805] ? asm_exc_invalid_op+0x1a/0x20 [ 657.472052] ? pskb_expand_head+0xd1/0xf40 [ 657.472292] ? pskb_expand_head+0x612/0xf40 [ 657.472540] ? lock_acquire+0x18f/0x4e0 [ 657.472766] ? find_held_lock+0x2d/0x110 [ 657.472999] ? __pfx_pskb_expand_head+0x10/0x10 [ 657.473263] ? __kmalloc_cache_noprof+0x5b/0x470 [ 657.473537] ? __pfx___lock_release.isra.0+0x10/0x10 [ 657.473826] __pskb_pull_tail+0xfd/0x1d20 [ 657.474062] ? __kasan_slab_alloc+0x4e/0x90 [ 657.474707] sk_psock_skb_ingress_enqueue+0x3bf/0x510 [ 657.475392] ? __kasan_kmalloc+0xaa/0xb0 [ 657.476010] sk_psock_backlog+0x5cf/0xd70 [ 657.476637] process_one_work+0x858/0x1a20 ''' The panic originates from the assertion BUG_ON(skb_shared(skb)) in skb_linearize(). A previous commit(see Fixes tag) introduced skb_get() to avoid race conditions between skb operations in the backlog and skb release in the recvmsg path. However, this caused the panic to always occur when skb_linearize is executed. The "--rx-strp 100000" parameter forces the RX path to use the strparser module which aggregates data until it reaches 100KB before calling sockmap logic. The 100KB payload exceeds MAX_MSG_FRAGS, triggering skb_linearize. To fix this issue, just move skb_get into sk_psock_skb_ingress_enqueue. ''' sk_psock_backlog: sk_psock_handle_skb skb_get(skb) <== we move it into 'sk_psock_skb_ingress_enqueue' sk_psock_skb_ingress____________ ↓ | | → sk_psock_skb_ingress_self | sk_psock_skb_ingress_enqueue sk_psock_verdict_apply_________________↑ skb_linearize ''' Note that for verdict_apply path, the skb_get operation is unnecessary so we add 'take_ref' param to control it's behavior.

HighCVSS 7.5Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

CVE-2025-38165 is a Linux kernel availability flaw. Under specific BPF sockmap and stream-parser conditions, sufficiently large aggregated network data can trigger a kernel panic, crashing the host. The cited evidence does not indicate data theft, data modification, or observed attacks in the wild.

Executive priority

Treat this as a high-priority availability patch for systems using BPF sockmap. Accelerate exposed or operationally critical hosts; validate other Linux assets against vendor guidance before scheduling updates.

Technical view

A reference-counting change made an skb shared before skb_linearize processed it, triggering a BUG_ON assertion. The condition occurs in the sockmap receive path when stream parsing aggregates data beyond MAX_MSG_FRAGS. The upstream correction moves skb_get into sk_psock_skb_ingress_enqueue and adds take_ref control for paths that do not require the reference.

Likely exposure

Exposure is concentrated in Linux systems using the affected BPF sockmap receive path with stream parsing. The supplied version representation mixes releases and commit identifiers and does not establish dependable affected-to-fixed boundaries. Confirm each distribution kernel and any backported fix with its vendor.

Exploitation context

The CVSS 3.1 score is 7.5, with network reachability, low complexity, no privileges, and availability impact only. Researchers reproduced a kernel panic, but the bundle reports KEV as false and provides no evidence of active exploitation or a publicly weaponized exploit.

Researcher notes

The crash mechanism and code-level correction are well documented. Exact exposure remains configuration-dependent, and the normalized version data is insufficient for definitive boundary analysis. No confidentiality or integrity effect is stated. Absence from KEV is not proof that exploitation cannot occur.

Mitigation direction

  • Check Linux or distribution advisories for an authoritative affected-version mapping.
  • Install a vendor kernel update containing the referenced upstream fix or an approved backport.
  • Reboot where required and verify the updated kernel is running.
  • If patching is delayed, seek vendor-supported mitigations; the sources name no temporary workaround.

Validation and detection

  • Inventory running kernel builds on systems using BPF sockmap or stream parsing.
  • Confirm each running build contains a referenced fix commit or vendor-equivalent backport.
  • Review kernel logs for skbuff BUG assertions and sk_psock_backlog panic traces.
  • Validate the updated kernel under representative sockmap traffic in a controlled staging environment.
Prepared
Confidence
medium
Sources
9

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-38165 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.5 (3.1)
Known Exploited
No
Published

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

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

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.

1CVSS vectors
3Timeline events
1ADP providers
8Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.5CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H3.93.6Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.5High
CVSS 3.1 vector shape for CVE-2025-38165Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

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

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux65ad600b9bde68d2d28709943ab00b51ca8f0a1d, 923877254f002ae87d441382bb1096d9e773d56d, a454d84ee20baf7bd7be90721b9821f73c7d23d9, a454d84ee20baf7bd7be90721b9821f73c7d23d9, a454d84ee20baf7bd7be90721b9821f73c7d23d9, a454d84ee20baf7bd7be90721b9821f73c7d23d9, e6b5e47adb9166e732cdf7e6e034946e3f89f36d, 5.15.189, 6.1.54, 6.5.4unaffected
LinuxLinux6.6, 0, 5.15.190, 6.1.142, 6.6.94, 6.12.34, 6.15.3, 6.16affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.