Files
vuln-cve/data/2022/49xxx/CVE-2022-49289.json
T

184 lines
9.5 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-2022-49289",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2025-02-26T01:49:39.302Z",
"datePublished": "2025-02-26T01:56:27.026Z",
"dateUpdated": "2026-08-05T08:54:37.099Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:54:37.099Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nuaccess: fix integer overflow on access_ok()\n\nThree architectures check the end of a user access against the\naddress limit without taking a possible overflow into account.\nPassing a negative length or another overflow in here returns\nsuccess when it should not.\n\nUse the most common correct implementation here, which optimizes\nfor a constant 'size' argument, and turns the common case into a\nsingle comparison."
}
],
"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 in arch-specific access_ok() used by syscall copy_to/from_user paths; an attacker needs local ability to invoke syscalls with crafted user pointers and lengths on csky, hexagon, or microblaze.\nAC:L - Triggering only requires passing an address and size that cause addr+size to wrap; no race, probabilistic memory layout, or other condition outside the attacker’s control is needed.\nPR:L - Any unprivileged local user can reach access_ok() through ordinary read/write/ioctl and related syscalls that validate user buffers; no root or special capabilities are required.\nUI:N - Exploitation is fully attacker-driven via syscalls and does not require any action by another user.\nS:U - Impact is confined to the local kernel’s security authority (same-host privilege boundary); this is not a VM escape, IOMMU bypass, or other cross-authority break.\nC:H - A successful access_ok() bypass lets copy_from_user read kernel addresses as if they were userspace, enabling arbitrary kernel memory disclosure when that data is returned to the attacker.\nI:H - The same bypass lets copy_to_user/clear_user write into kernel virtual addresses, yielding a kernel memory corruption / write primitive usable for control-flow hijacking.\nA:H - Walking into invalid or sensitive kernel mappings via the unchecked copy path can oops/panic the kernel, and huge overflowing lengths can also produce fatal DoS behavior."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"arch/csky/include/asm/uaccess.h",
"arch/hexagon/include/asm/uaccess.h",
"arch/microblaze/include/asm/uaccess.h"
],
"versions": [
{
"version": "7567746e1c0d66ac0ef8a9d8816ca694462c7370",
"lessThan": "e65d28d4e9bf90a35ba79c06661a572a38391dec",
"status": "affected",
"versionType": "git"
},
{
"version": "7567746e1c0d66ac0ef8a9d8816ca694462c7370",
"lessThan": "99801e2f457824955da4aadaa035913a6dede03a",
"status": "affected",
"versionType": "git"
},
{
"version": "7567746e1c0d66ac0ef8a9d8816ca694462c7370",
"lessThan": "a1ad747fc1a0e06d1bf26b996ee8a56b5c8d02d8",
"status": "affected",
"versionType": "git"
},
{
"version": "7567746e1c0d66ac0ef8a9d8816ca694462c7370",
"lessThan": "222ca305c9fd39e5ed8104da25c09b2b79a516a8",
"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/csky/include/asm/uaccess.h",
"arch/hexagon/include/asm/uaccess.h",
"arch/microblaze/include/asm/uaccess.h"
],
"versions": [
{
"version": "3.2",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.2",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.32",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.16.18",
"lessThanOrEqual": "5.16.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.17.1",
"lessThanOrEqual": "5.17.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.18",
"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": "3.2",
"versionEndExcluding": "5.15.32"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.2",
"versionEndExcluding": "5.16.18"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.2",
"versionEndExcluding": "5.17.1"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "3.2",
"versionEndExcluding": "5.18"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/e65d28d4e9bf90a35ba79c06661a572a38391dec"
},
{
"url": "https://git.kernel.org/stable/c/99801e2f457824955da4aadaa035913a6dede03a"
},
{
"url": "https://git.kernel.org/stable/c/a1ad747fc1a0e06d1bf26b996ee8a56b5c8d02d8"
},
{
"url": "https://git.kernel.org/stable/c/222ca305c9fd39e5ed8104da25c09b2b79a516a8"
}
],
"title": "uaccess: fix integer overflow on access_ok()",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
}
}