{"api_version":"1","generated_at":"2026-10-24T04:55:25+00:00","cve":"CVE-2026-98463","urls":{"html":"https://cve.report/CVE-2026-98463","api":"https://cve.report/api/cve/CVE-2026-98463.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-98463","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-98463"},"summary":{"title":"sched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags\n\nschedule_deferred_locked() skips scheduling a deferred action while\nSCX_RQ_IN_WAKEUP is set and relies on the task_woken_scx() call that follows\na wakeup enqueue to run it. enqueue_task_scx() sets the flag from the merged\nenqueue flags, which include the flags stashed for a remote activation.\nmove_remote_task_to_local_dsq() thus sets SCX_RQ_IN_WAKEUP on the\ndestination rq when the moved task was woken up, although no\ntask_woken_scx() follows that activation.\n\nAn IMMED insert into a busy destination requests a local reenqueue during\nthat enqueue. The request gets linked but not scheduled and stays pending\nuntil an unrelated wakeup or preemption on that CPU runs the deferred\nactions. The IMMED task sits behind the running task in the meantime. If\nnothing runs them before the scheduler is disabled, the request outlives the\nscheduler and points into its freed per-cpu area, which the next scheduler\ndereferences from run_deferred().\n\nTest the core enqueue flags for the wakeup bit. Only the core's wakeup path\nis followed by task_woken_scx().","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-18 16:16:56","updated_at":"2026-10-19 10:18:55"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/3fdf2ceb31e8aff77451e468bc8409e10587916a","name":"https://git.kernel.org/stable/c/3fdf2ceb31e8aff77451e468bc8409e10587916a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/df5cdc2c832ca4e8a6d774596b9005558761a403","name":"https://git.kernel.org/stable/c/df5cdc2c832ca4e8a6d774596b9005558761a403","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6c401ae426e20e53a3398a8e79afd0964c0f5110","name":"https://git.kernel.org/stable/c/6c401ae426e20e53a3398a8e79afd0964c0f5110","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-98463","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98463","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 997967adf10ce26c3e7bd89598b3ded62b943052 6c401ae426e20e53a3398a8e79afd0964c0f5110 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 57ccf5ccdc56954f2a91a7f66684fd31c566bde5 3fdf2ceb31e8aff77451e468bc8409e10587916a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 57ccf5ccdc56954f2a91a7f66684fd31c566bde5 df5cdc2c832ca4e8a6d774596b9005558761a403 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ee502c056c4c9cce4c132ccb588e06ffe5b831c1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18.19 6.18.55 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.19.9 6.20 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7.0","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.55 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.9 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["kernel/sched/ext/ext.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"6c401ae426e20e53a3398a8e79afd0964c0f5110","status":"affected","version":"997967adf10ce26c3e7bd89598b3ded62b943052","versionType":"git"},{"lessThan":"3fdf2ceb31e8aff77451e468bc8409e10587916a","status":"affected","version":"57ccf5ccdc56954f2a91a7f66684fd31c566bde5","versionType":"git"},{"lessThan":"df5cdc2c832ca4e8a6d774596b9005558761a403","status":"affected","version":"57ccf5ccdc56954f2a91a7f66684fd31c566bde5","versionType":"git"},{"status":"affected","version":"ee502c056c4c9cce4c132ccb588e06ffe5b831c1","versionType":"git"},{"lessThan":"6.18.55","status":"affected","version":"6.18.19","versionType":"semver"},{"lessThan":"6.20","status":"affected","version":"6.19.9","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["kernel/sched/ext/ext.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"7.0"},{"lessThan":"7.0","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.55","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.9","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.55","versionStartIncluding":"6.18.19","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.9","versionStartIncluding":"7.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3","versionStartIncluding":"7.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19.9","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags\n\nschedule_deferred_locked() skips scheduling a deferred action while\nSCX_RQ_IN_WAKEUP is set and relies on the task_woken_scx() call that follows\na wakeup enqueue to run it. enqueue_task_scx() sets the flag from the merged\nenqueue flags, which include the flags stashed for a remote activation.\nmove_remote_task_to_local_dsq() thus sets SCX_RQ_IN_WAKEUP on the\ndestination rq when the moved task was woken up, although no\ntask_woken_scx() follows that activation.\n\nAn IMMED insert into a busy destination requests a local reenqueue during\nthat enqueue. The request gets linked but not scheduled and stays pending\nuntil an unrelated wakeup or preemption on that CPU runs the deferred\nactions. The IMMED task sits behind the running task in the meantime. If\nnothing runs them before the scheduler is disabled, the request outlives the\nscheduler and points into its freed per-cpu area, which the next scheduler\ndereferences from run_deferred().\n\nTest the core enqueue flags for the wakeup bit. Only the core's wakeup path\nis followed by task_woken_scx()."}],"providerMetadata":{"dateUpdated":"2026-10-19T09:20:01.130Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/6c401ae426e20e53a3398a8e79afd0964c0f5110"},{"url":"https://git.kernel.org/stable/c/3fdf2ceb31e8aff77451e468bc8409e10587916a"},{"url":"https://git.kernel.org/stable/c/df5cdc2c832ca4e8a6d774596b9005558761a403"}],"title":"sched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-98463","datePublished":"2026-10-18T15:15:15.775Z","dateReserved":"2026-09-25T10:25:14.350Z","dateUpdated":"2026-10-19T09:20:01.130Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-18 16:16:56","lastModifiedDate":"2026-10-19 10:18:55","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"98463","Ordinal":"1","Title":"sched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags","CVE":"CVE-2026-98463","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"98463","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags\n\nschedule_deferred_locked() skips scheduling a deferred action while\nSCX_RQ_IN_WAKEUP is set and relies on the task_woken_scx() call that follows\na wakeup enqueue to run it. enqueue_task_scx() sets the flag from the merged\nenqueue flags, which include the flags stashed for a remote activation.\nmove_remote_task_to_local_dsq() thus sets SCX_RQ_IN_WAKEUP on the\ndestination rq when the moved task was woken up, although no\ntask_woken_scx() follows that activation.\n\nAn IMMED insert into a busy destination requests a local reenqueue during\nthat enqueue. The request gets linked but not scheduled and stays pending\nuntil an unrelated wakeup or preemption on that CPU runs the deferred\nactions. The IMMED task sits behind the running task in the meantime. If\nnothing runs them before the scheduler is disabled, the request outlives the\nscheduler and points into its freed per-cpu area, which the next scheduler\ndereferences from run_deferred().\n\nTest the core enqueue flags for the wakeup bit. Only the core's wakeup path\nis followed by task_woken_scx().","Type":"Description","Title":"sched_ext: Derive SCX_RQ_IN_WAKEUP from the core enqueue flags"}]}}}