181 lines
9.3 KiB
JSON
181 lines
9.3 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-46240",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2026-05-13T15:03:33.107Z",
|
|
"datePublished": "2026-05-28T09:41:08.376Z",
|
|
"dateUpdated": "2026-08-05T12:30:40.467Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-08-05T12:30:40.467Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: iris: Fix use-after-free in iris_release_internal_buffers()\n\nThe recent change in commit 1dabf00ee206 (\"media: iris: gen1: Destroy\ninternal buffers after FW releases\") introduced a regression where\nsession_release_buf() may free the buffer. The caller,\niris_release_internal_buffers(), continued to access `buffer` after the\ncall, leading to a potential use-after-free.\n\nFix this by setting BUF_ATTR_PENDING_RELEASE before calling\nsession_release_buf(), and reverting the flag if the call fails. This\nensures no dereference occurs after potential freeing."
|
|
}
|
|
],
|
|
"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 vulnerable code is reached only via VIDIOC_STREAMON and related ioctls on the iris V4L2 device node (/dev/videoN); it requires local access to that device, not a network path.\nAC:L - This is a sequential use-after-free, not a race; the attacker drives a decode session and supplies a bitstream with a resolution change to reliably reach the release/free path on gen1 hardware.\nPR:L - Triggering the path needs an open handle to the iris video device (e.g. video-group access, or the codec/media context on Android) but no real root or capability check exists along the path.\nUI:N - The attacker performs all ioctls and supplies the input bitstream directly; no separate victim action is required.\nS:U - The corruption stays within the kernel's own memory and security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The use-after-free lets the attacker groom and control the contents of the freed struct iris_buffer slot, enabling kernel memory disclosure.\nI:H - The post-free read-modify-write into the freed slab object can corrupt an adjacent reallocated structure, giving a UAF write primitive exploitable for control-flow/data corruption.\nA:H - The use-after-free reliably leads to slab corruption and kernel oops/panic, a high availability impact."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/media/platform/qcom/iris/iris_buffer.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "7cde76db8883ec8a3d1456068079ecadbfb15ca5",
|
|
"lessThan": "dd24998a4a4016fb9921916024399bd80f0d45c6",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "1dabf00ee206eceb0f08a1fe5d1ce635f9064338",
|
|
"lessThan": "18c64439f249859b6140f7bf8bcf95c8ed841f28",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "1dabf00ee206eceb0f08a1fe5d1ce635f9064338",
|
|
"lessThan": "f27cfdcfc916bb59297825805f4c3499f89f9e76",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "d4457f23ac0130240053a34be663f0fade3bb371",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "6.18.16",
|
|
"lessThan": "6.18.32",
|
|
"status": "affected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.19.6",
|
|
"lessThan": "6.20",
|
|
"status": "affected",
|
|
"versionType": "semver"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "affected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/media/platform/qcom/iris/iris_buffer.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "7.0",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "7.0",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.18.32",
|
|
"lessThanOrEqual": "6.18.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.0.9",
|
|
"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": "6.18.16",
|
|
"versionEndExcluding": "6.18.32"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "7.0",
|
|
"versionEndExcluding": "7.0.9"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "7.0",
|
|
"versionEndExcluding": "7.1"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "6.19.6"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/dd24998a4a4016fb9921916024399bd80f0d45c6"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/18c64439f249859b6140f7bf8bcf95c8ed841f28"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/f27cfdcfc916bb59297825805f4c3499f89f9e76"
|
|
}
|
|
],
|
|
"title": "media: iris: Fix use-after-free in iris_release_internal_buffers()",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |