CVE-2024-35827: io_uring/net: fix overflow check in io_recvmsg_mshot_prep()
In the Linux kernel, the following vulnerability has been resolved:
io_uring/net: fix overflow check in io_recvmsg_mshot_prep()
The "controllen" variable is type size_t (unsigned long). Casting it
to int could lead to an integer underflow.
The check_add_overflow() function considers the type of the destination
which is type int. If we add two positive values and the result cannot
fit in an integer then that's counted as an overflow.
However, if we cast "controllen" to an int and it turns negative, then
negative values *can* fit into an int type so there is no overflow.
Good: 100 + (unsigned long)-4 = 96 <-- overflow
Bad: 100 + (int)-4 = 96 <-- no overflow
I deleted the cast of the sizeof() as well. That's not a bug but the
cast is unnecessary.
Security readout for executives and security teams
Plain-English summary
A flaw in Linux io_uring network message handling can let a low-privileged local user bypass an integer overflow check. The CVSS assessment indicates possible serious confidentiality, integrity, and availability impact. It is not described as remotely exploitable, and the supplied sources do not establish the precise failure or exploitation outcome.
Executive priority
Treat this as expedited high-priority patching for exposed multi-user Linux systems. Its local-access requirement reduces immediate internet-facing urgency, but low required privileges and the assessed system-wide impact make prolonged exposure undesirable. Prioritize systems permitting untrusted users, containers, or shared workloads.
Technical view
In io_recvmsg_mshot_prep(), an unsigned size_t controllen value was cast to int before check_add_overflow(). A sufficiently large value could become negative, allowing an invalid addition to appear representable and bypass overflow detection. Linux stable commits remove the problematic cast. The source bundle does not document the subsequent memory-safety primitive.
Likely exposure
Exposure is limited to Linux systems running affected kernels where a low-privileged local actor can reach the vulnerable io_uring receive-message path. The affected data lists versions from 6.0 and several later branch versions, but its formatting is insufficient to determine every vulnerable distribution package reliably.
Exploitation context
The CVSS vector describes local access, low privileges, low complexity, and no user interaction. The bundle marks this CVE as absent from KEV and provides no cited evidence of active exploitation. Absence from KEV does not prove exploitation has never occurred.
Researcher notes
The affected-version data is unusually formatted, including repeated commit identifiers marked unaffected and a mixed version list marked affected. Do not infer exact distribution exposure solely from those entries. Establish branch-specific introduction and correction boundaries using the cited stable commits and vendor package advisories. No CWE or demonstrated exploit primitive is supplied.
Mitigation direction
Apply vendor-supported kernel updates incorporating the applicable Linux stable fix.
Prioritize multi-user systems and workloads where untrusted local users can access io_uring.
If updates are unavailable, consult distributor guidance for supported temporary mitigations.
Reboot into the updated kernel and retire vulnerable kernel images according to change policy.
Validation and detection
Inventory running kernel versions and confirm whether io_uring is available.
Compare each kernel package against Linux stable fix commits and distributor advisories.
Verify updated kernels are running after reboot, not merely installed.
Re-scan hosts and document exceptions where patch status remains uncertain.
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-35827 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.
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.