LiveActive security incident?Get immediate response
CVE Record

CVE-2024-49861: bpf: Fix helper writes to read-only maps

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix helper writes to read-only maps Lonial found an issue that despite user- and BPF-side frozen BPF map (like in case of .rodata), it was still possible to write into it from a BPF program side through specific helpers having ARG_PTR_TO_{LONG,INT} as arguments. In check_func_arg() when the argument is as mentioned, the meta->raw_mode is never set. Later, check_helper_mem_access(), under the case of PTR_TO_MAP_VALUE as register base type, it assumes BPF_READ for the subsequent call to check_map_access_type() and given the BPF map is read-only it succeeds. The helpers really need to be annotated as ARG_PTR_TO_{LONG,INT} | MEM_UNINIT when results are written into them as opposed to read out of them. The latter indicates that it's okay to pass a pointer to uninitialized memory as the memory is written to anyway. However, ARG_PTR_TO_{LONG,INT} is a special case of ARG_PTR_TO_FIXED_SIZE_MEM just with additional alignment requirement. So it is better to just get rid of the ARG_PTR_TO_{LONG,INT} special cases altogether and reuse the fixed size memory types. For this, add MEM_ALIGNED to additionally ensure alignment given these helpers write directly into the args via *<ptr> = val. The .arg*_size has been initialized reflecting the actual sizeof(*<ptr>). MEM_ALIGNED can only be used in combination with MEM_FIXED_SIZE annotated argument types, since in !MEM_FIXED_SIZE cases the verifier does not know the buffer size a priori and therefore cannot blindly write *<ptr> = val.

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A flaw in the Linux kernel’s BPF verifier could let a low-privileged local user alter BPF maps intended to be read-only. Successful abuse could compromise confidentiality, integrity, and availability. The issue is not remotely exploitable according to the supplied CVSS vector and requires local access.

Executive priority

Treat as a high-priority kernel update for multi-user, shared-hosting, development, and workload-dense Linux systems. Internet exposure alone does not create the stated attack path, but local footholds could make the flaw consequential. Schedule prompt remediation through supported distribution packages.

Technical view

The verifier mishandled helper arguments that write through aligned integer or long pointers. It treated access to a frozen map value as a read, allowing verification to succeed despite the helper writing there. The kernel fixes replace special argument handling with fixed-size memory annotations, including explicit uninitialized-memory and alignment requirements.

Likely exposure

Exposure applies to Linux systems running affected kernels identified by the CVE data, particularly systems where low-privileged local users or workloads can submit BPF programs. The supplied version list is ambiguous, so administrators should confirm exposure against their distribution’s kernel advisory and package changelog.

Exploitation context

The bundle marks this CVE as absent from KEV and provides no cited evidence of active exploitation. Its CVSS 7.8 vector describes local, low-complexity exploitation requiring low privileges and no user interaction. Absence from KEV does not prove exploitation has never occurred.

Researcher notes

The issue concerns verifier enforcement for frozen BPF map values, not ordinary filesystem permissions. Review applicable stable-branch commits because the bundle lists multiple backports. The supplied affected-version representation is insufficient for precise branch-by-branch conclusions, and no source-backed exploit maturity information is provided.

Mitigation direction

  • Install a vendor-supported kernel update incorporating the applicable cited stable-kernel fix.
  • Reboot affected systems into the updated kernel after installation.
  • If no update is available, consult vendor guidance; the supplied sources identify no alternative workaround.
  • Prioritize shared systems permitting low-privileged local users or workloads.

Validation and detection

  • Inventory running kernel versions and compare them with vendor advisories for CVE-2024-49861.
  • Verify the installed kernel changelog includes CVE-2024-49861 or the applicable cited fix commit.
  • Confirm systems restarted and are running the updated kernel, not merely storing it.
  • Reassess systems after updates to ensure older vulnerable kernels are not selected at boot.
Prepared
Confidence
medium
Sources
8

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-2024-49861 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.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/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
2ADP providers
7Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

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.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H1.85.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2024-49861Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/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

CISA-ADPCISA ADP Vulnrichment
other:ssvc
CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux57c3bb725a3dd97d960d7e1cd0845d88de53217f, 57c3bb725a3dd97d960d7e1cd0845d88de53217f, 57c3bb725a3dd97d960d7e1cd0845d88de53217f, 57c3bb725a3dd97d960d7e1cd0845d88de53217f, 57c3bb725a3dd97d960d7e1cd0845d88de53217funaffected
LinuxLinux5.2, 0, 6.1.120, 6.6.54, 6.10.13, 6.11.2, 6.12affected
Weakness

CWE details

No CWE listed

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