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

264 lines
14 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-49343",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2025-02-26T02:08:31.542Z",
"datePublished": "2025-02-26T02:10:59.970Z",
"dateUpdated": "2026-08-05T08:54:50.163Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:54:50.163Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\next4: avoid cycles in directory h-tree\n\nA maliciously corrupted filesystem can contain cycles in the h-tree\nstored inside a directory. That can easily lead to the kernel corrupting\ntree nodes that were already verified under its hands while doing a node\nsplit and consequently accessing unallocated memory. Fix the problem by\nverifying traversed block numbers are unique."
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
"baseScore": 7.8,
"baseSeverity": "HIGH"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The bug is reached only through local VFS directory operations on a mounted crafted ext4 image (creat/mkdir → ext4_add_entry → ext4_dx_add_entry → dx_probe → do_split/index split); there is no network or adjacent-protocol entry into fs/ext4/namei.c.\nAC:L - The attacker fully controls on-disk h-tree block pointers, so a cyclic index (e.g. an intermediate node pointing back to an ancestor) deterministically makes dx_probe load the same block at multiple frame levels and then corrupts those nodes on split; no race or attacker-uncontrollable layout is required.\nPR:N - The attacker needs no account on the target—only a malicious ext4 image (USB/SD, disk image, or media handed to udisks/automount); ext4 is FS_REQUIRES_DEV without FS_USERNS_MOUNT, so CAP_SYS_ADMIN for mount belongs to the victim or automount path.\nUI:R - Exploitation requires a user or automount/storage daemon to mount the attacker-supplied ext4 volume and then perform a directory write that triggers an h-tree node split on the cyclic directory.\nS:U - Corruption and crashes remain within the host kernel’s buffer-cache/htree handling under the same OS security authority; this is standard local kernel impact, not a VM escape, IOMMU bypass, or other cross-boundary break.\nC:H - Node split on aliased frames corrupts already-verified index nodes and leads to accessing unallocated memory; that out-of-bounds/UAF-class read of kernel heap or freed buffers enables arbitrary disclosure and is scored Confidentiality High.\nI:H - The same split path (dx_insert_block/memmove and index-node rewrites through shared frame buffers) performs attacker-influenced writes into corrupted/unallocated memory, enabling heap corruption and control-flow hijack primitives scored Integrity High.\nA:H - Accessing unallocated memory during the split of a cyclic h-tree can oops/panic the kernel even without full exploitation, fully denying availability."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/ext4/namei.c"
],
"versions": [
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "24b8206fec1db21d7e82f21f0b2ff5e5672cf5b3",
"status": "affected",
"versionType": "git"
},
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "b3ad9ff6f06c1dc6abf7437691c88ca3d6da3ac0",
"status": "affected",
"versionType": "git"
},
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "e157c8f87e8fac112d6c955e69a60cdb9bc80a60",
"status": "affected",
"versionType": "git"
},
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "ff4cafa51762da3824881a9000ca421d4b78b138",
"status": "affected",
"versionType": "git"
},
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "3a3ce941645407cd0b0b7f01ad9e2ea3770f46cc",
"status": "affected",
"versionType": "git"
},
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "d5a16a6df2c16eaf4de04948553ef0089dee463f",
"status": "affected",
"versionType": "git"
},
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "6084240bfc44bf265ab6ae7d96980469b05be0f1",
"status": "affected",
"versionType": "git"
},
{
"version": "ac27a0ec112a089f1a5102bc8dffc79c8c815571",
"lessThan": "3ba733f879c2a88910744647e41edeefbc0d92b2",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"fs/ext4/namei.c"
],
"versions": [
{
"version": "2.6.19",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.19",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.14.283",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.19.247",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.198",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.121",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.46",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.17.14",
"lessThanOrEqual": "5.17.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.18.3",
"lessThanOrEqual": "5.18.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.19",
"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": "2.6.19",
"versionEndExcluding": "4.14.283"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.19",
"versionEndExcluding": "4.19.247"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.19",
"versionEndExcluding": "5.4.198"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.19",
"versionEndExcluding": "5.10.121"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.19",
"versionEndExcluding": "5.15.46"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.19",
"versionEndExcluding": "5.17.14"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.19",
"versionEndExcluding": "5.18.3"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.19",
"versionEndExcluding": "5.19"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/24b8206fec1db21d7e82f21f0b2ff5e5672cf5b3"
},
{
"url": "https://git.kernel.org/stable/c/b3ad9ff6f06c1dc6abf7437691c88ca3d6da3ac0"
},
{
"url": "https://git.kernel.org/stable/c/e157c8f87e8fac112d6c955e69a60cdb9bc80a60"
},
{
"url": "https://git.kernel.org/stable/c/ff4cafa51762da3824881a9000ca421d4b78b138"
},
{
"url": "https://git.kernel.org/stable/c/3a3ce941645407cd0b0b7f01ad9e2ea3770f46cc"
},
{
"url": "https://git.kernel.org/stable/c/d5a16a6df2c16eaf4de04948553ef0089dee463f"
},
{
"url": "https://git.kernel.org/stable/c/6084240bfc44bf265ab6ae7d96980469b05be0f1"
},
{
"url": "https://git.kernel.org/stable/c/3ba733f879c2a88910744647e41edeefbc0d92b2"
}
],
"title": "ext4: avoid cycles in directory h-tree",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
}
}