Skip to main content
Press slash or control plus K to focus the search. Use the arrow keys to navigate results and press enter to open a threat.
Reconnecting to live updates…
EPSS 0.2%top 94%

In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Fix OOB clear_bit when CID is MM_CID_UNSET in fixup path In… (CVE-2026-63799)

0
High
Published: 07/19/2026 (07/19/2026, 12:30:23 UTC)
Source: GCVE Database

Description

In the Linux kernel, the following vulnerability has been resolved: sched/mmcid: Fix OOB clear_bit when CID is MM_CID_UNSET in fixup path In mm_cid_fixup_cpus_to_tasks(), when rq->curr has the target mm and mm_cid.active is set, the CID is checked with cid_in_transit() before setting the transition bit. In per-CPU mode a newly forked or exec'd task can be running with mm_cid.cid == MM_CID_UNSET because CIDs are assigned lazily on schedule-in. With cid_in_transit() the guard passes for MM_CID_UNSET (no transit bit), converts it to MM_CID_UNSET | MM_CID_TRANSIT and stores it back; later mm_cid_schedout() feeds this to clear_bit() with MM_CID_UNSET as the bit number, triggering an out-of-bounds write. Symptoms: this is genuine memory corruption, but a bounded out-of-bounds write, not an arbitrary one. MM_CID_UNSET is the fixed sentinel BIT(31), so once the bad value reaches mm_cid_schedout() the cid_from_transit_cid() strip leaves MM_CID_UNSET, which fails the "cid < max_cids" convergence test and falls into mm_drop_cid() -> clear_bit(MM_CID_UNSET, mm_cidmask(mm)). The cid bitmap is embedded in the mm_struct slab object (after cpu_bitmap and mm_cpus_allowed) and is only num_possible_cpus() bits wide, so clearing bit 31 is a deterministic OOB bit-clear at a fixed offset of 2^31 / 8 == 256 MiB past the bitmap base. The address is not attacker-influenced (fixed sentinel -> fixed offset) and the op only clears a single bit; what sits 256 MiB further along the direct map is whatever kernel object happens to live there, so this corrupts one bit of unpredictable kernel memory -- it is not an arbitrary-address or arbitrary-value write. It triggers only in per-CPU CID mode, when a CPU is running an active task of the target mm whose cid is still MM_CID_UNSET -- the fork()/execve() window before that task's next schedule-in assigns it a real CID -- and a per-CPU -> per-task fixup walks over it (the mode fallback driven by a thread exit, sched_mm_cid_exit(), or by the deferred max_cids recompute in mm_cid_work_fn()). In practice syzkaller surfaced it as a KASAN use-after-free reported in __schedule -> mm_cid_switch_to, where the offending clear_bit() is inlined via mm_cid_schedout() -> mm_drop_cid(). Guard the transition-bit assignment against MM_CID_UNSET, in addition to the existing cid_in_transit() check, so the bit is only set on a genuine task-owned CID. A CPU-owned (MM_CID_ONCPU) CID of a running active task is handled by the cid_on_cpu(pcp->cid) branch above and never reaches this path, so excluding MM_CID_UNSET (and the already-transitioning case) is sufficient.

CVSS v3.1

Score 7.8high

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 07/19/2026, 20:22:17 UTC

Technical Analysis

The Linux kernel vulnerability CVE-2026-63799 involves an out-of-bounds clear_bit() operation triggered when the mm_cid.cid is MM_CID_UNSET in the fixup path of mm_cid_fixup_cpus_to_tasks(). The bug arises because the transition bit is set on MM_CID_UNSET, which is a fixed sentinel value (BIT(31)), leading to a clear_bit() call with bit number 31 on a bitmap that is only as large as the number of possible CPUs. This causes a deterministic OOB write 256 MiB beyond the bitmap base, corrupting a single bit of kernel memory at a fixed offset. The vulnerability only triggers in per-CPU CID mode during a brief window after fork or execve before the task's CID is assigned on schedule-in. The fix adds an explicit guard to prevent setting the transition bit on MM_CID_UNSET, ensuring the bit clear operation does not occur out-of-bounds.

Potential Impact

This vulnerability results in a bounded out-of-bounds write that corrupts a single bit of kernel memory at a fixed offset 256 MiB beyond the intended bitmap. The corrupted memory location is not attacker-controlled, so the corruption is unpredictable and limited in scope. It does not allow arbitrary memory write or arbitrary value write. The issue can cause kernel memory corruption and was observed as a use-after-free by KASAN in kernel scheduling code. It only occurs in per-CPU CID mode during a narrow timing window after fork or execve before CID assignment.

Mitigation Recommendations

A fix for this vulnerability has been implemented in the Linux kernel by adding a guard to prevent setting the transition bit when the CID is MM_CID_UNSET. Users should update to the fixed kernel version once available. Since this is a kernel vulnerability, applying the official kernel patch or upgrading to a kernel version that includes this fix is the recommended remediation. No other mitigations are indicated by the vendor advisory.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Gcve Source
db.gcve.eu
Osv Id
GHSA-2w6g-3pwr-88wc
Osv Schema Version
1.4.0
Aliases
["CVE-2026-63799"]
Ecosystems
[]
Database Specific Severity
null
Cvss Version
3.1

Threat ID: 6a5d27ad2a4a8d5989131f2c

Added to database: 07/19/2026, 19:38:21 UTC

Last enriched: 07/19/2026, 20:22:17 UTC

Last updated: 09/01/2026, 22:52:13 UTC

Views: 65

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses