Files
vuln-cve/data/2026/64xxx/CVE-2026-64082.json
T

224 lines
12 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-64082",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2026-07-19T07:54:57.031Z",
"datePublished": "2026-07-19T15:39:54.074Z",
"dateUpdated": "2026-09-02T12:49:41.782Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-09-02T12:49:41.782Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nriscv: Fix register corruption from uninitialized cregs on error\n\ncompat_riscv_gpr_set() calls cregs_to_regs() unconditionally, even when\nuser_regset_copyin() fails. Since cregs is an uninitialized stack\nvariable, a copyin failure causes uninitialized stack data to be written\ninto the target task's pt_regs, corrupting its register state and\npotentially leaking kernel stack contents.\n\ncompat_restore_sigcontext() has the same issue: it calls cregs_to_regs()\neven when __copy_from_user() fails, leading to the same corruption of\nthe signal-returning task's register state on error.\n\nOnly call cregs_to_regs() when the user copy succeeds."
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 7.8,
"baseSeverity": "HIGH"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The bug is only reachable through local kernel interfaces—compat_rt_sigreturn and ptrace(PTRACE_SETREGSET)—with no network, adjacent-radio, or physical-device code path involved.\nAC:L - An attacker can reliably force the user copy to fail by racing munmap/mprotect against sigreturn or ptrace SETREGSET after access_ok, controlling both sides of the TOCTOU window.\nPR:L - The lowest-privilege path is compat_rt_sigreturn, callable by any unprivileged 32-bit compat process on a CONFIG_COMPAT RISC-V system without capabilities or root.\nUI:N - Exploitation requires no victim interaction; a local attacker corrupts their own task’s registers via rt_sigreturn or a tracee they already control as parent/tracer.\nS:U - Impact is confined to kernel register-state corruption and information disclosure within the same OS security boundary, not a VM escape or cross-authority sandbox breakout.\nC:H - On copy failure, uninitialized kernel stack data (up to the full compat_user_regs_struct) is written into pt_regs, leaking kernel memory contents into user-observable registers.\nI:H - The corruption overwrites all general-purpose registers in pt_regs—including program counter, stack pointer, and return address—constituting memory corruption exploitable for control-flow hijacking.\nA:H - Corrupted pt_regs reliably cause faults, SIGSEGV delivery, or erratic kernel/user execution, and the condition is repeatable for persistent denial of service."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"arch/riscv/kernel/compat_signal.c",
"arch/riscv/kernel/ptrace.c"
],
"versions": [
{
"version": "7383ee05314be58f8f9f018ee0ac53bef3808aea",
"lessThan": "f2d88b0d7aebfa4643fc58bbae57210c6daff9c6",
"status": "affected",
"versionType": "git"
},
{
"version": "7383ee05314be58f8f9f018ee0ac53bef3808aea",
"lessThan": "66dedb6028c3df6c6a3372dd935b823917e150d5",
"status": "affected",
"versionType": "git"
},
{
"version": "7383ee05314be58f8f9f018ee0ac53bef3808aea",
"lessThan": "2a7d1daf2674fe7d5b1cc99a4e3b5f0f72d5958f",
"status": "affected",
"versionType": "git"
},
{
"version": "7383ee05314be58f8f9f018ee0ac53bef3808aea",
"lessThan": "0599aa23734c48de9bce36d043a9ec90c23945a1",
"status": "affected",
"versionType": "git"
},
{
"version": "7383ee05314be58f8f9f018ee0ac53bef3808aea",
"lessThan": "9e020156833f1ad0d425a1e3d85b65639f1c1c50",
"status": "affected",
"versionType": "git"
},
{
"version": "7383ee05314be58f8f9f018ee0ac53bef3808aea",
"lessThan": "6ebcbb53fc9bc30843054ed99fd60b8e542628f4",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"arch/riscv/kernel/compat_signal.c",
"arch/riscv/kernel/ptrace.c"
],
"versions": [
{
"version": "5.19",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.19",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.1.187",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.6.156",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.12.108",
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.18.49",
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "7.0.11",
"lessThanOrEqual": "7.0.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "7.1",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.19",
"versionEndExcluding": "6.1.187"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.19",
"versionEndExcluding": "6.6.156"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.19",
"versionEndExcluding": "6.12.108"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.19",
"versionEndExcluding": "6.18.49"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.19",
"versionEndExcluding": "7.0.11"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.19",
"versionEndExcluding": "7.1"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/f2d88b0d7aebfa4643fc58bbae57210c6daff9c6"
},
{
"url": "https://git.kernel.org/stable/c/66dedb6028c3df6c6a3372dd935b823917e150d5"
},
{
"url": "https://git.kernel.org/stable/c/2a7d1daf2674fe7d5b1cc99a4e3b5f0f72d5958f"
},
{
"url": "https://git.kernel.org/stable/c/0599aa23734c48de9bce36d043a9ec90c23945a1"
},
{
"url": "https://git.kernel.org/stable/c/9e020156833f1ad0d425a1e3d85b65639f1c1c50"
},
{
"url": "https://git.kernel.org/stable/c/6ebcbb53fc9bc30843054ed99fd60b8e542628f4"
}
],
"title": "riscv: Fix register corruption from uninitialized cregs on error",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
}
}