CVE-2026-97577 (GCVE-0-2026-97577)
Vulnerability from cvelistv5 – Published: 2026-09-25 10:21 – Updated: 2026-10-19 09:09| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
727a400686a2c0d25015c9e44916a59b72882f83 , < 95ee48eb17c91bd4859b65e0a54e7722f370d0e5
(git)
Affected: 727a400686a2c0d25015c9e44916a59b72882f83 , < 40029f7f35397853f8711d6fce1d90a4c7a01f8c (git) Affected: 727a400686a2c0d25015c9e44916a59b72882f83 , < a41babf528f70c9a82ed31cfb5fe19065910f7f0 (git) Affected: 727a400686a2c0d25015c9e44916a59b72882f83 , < fd965369220cc160bb20a24991790814bfbab401 (git) Affected: 727a400686a2c0d25015c9e44916a59b72882f83 , < 367db8b23c26a913d76ed70457bbcd781c422b49 (git) |
guessed | |
| Linux | Linux |
Affected:
6.5
Unaffected: 0 , < 6.5 (semver) Unaffected: 6.6.158 , ≤ 6.6.* (semver) Unaffected: 6.12.111 , ≤ 6.12.* (semver) Unaffected: 6.18.53 , ≤ 6.18.* (semver) Unaffected: 7.2.7 , ≤ 7.2.* (semver) Unaffected: 7.3 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "95ee48eb17c91bd4859b65e0a54e7722f370d0e5",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "40029f7f35397853f8711d6fce1d90a4c7a01f8c",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "a41babf528f70c9a82ed31cfb5fe19065910f7f0",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "fd965369220cc160bb20a24991790814bfbab401",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "367db8b23c26a913d76ed70457bbcd781c422b49",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.5"
},
{
"lessThan": "6.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.7",
"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.6.158",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.111",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.53",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.7",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3",
"versionStartIncluding": "6.5",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity\n\nrockchip_vpu981_av1_dec_set_tile_info() indexes the tile group entry\narray by tile1 * tile_cols + tile0, reading up to tile_cols * tile_rows\nentries, lays out one descriptor per tile in the AV1_MAX_TILES tile_info\nbuffer, and programs the real tile_cols / tile_rows into the hardware.\n\nThe tile group entry control is a dynamic array sized to the number of\nentries userspace submitted, independent of tile_cols / tile_rows, so a\nframe that claims more tiles than entries reads past the array. A frame\nthat claims more than AV1_MAX_TILES tiles also leaves the hardware\nprogrammed for more tiles than the descriptor buffer holds.\n\nReject both in prepare_run(): tile_cols * tile_rows must not exceed the\nsubmitted entry count or AV1_MAX_TILES. The entry count is read via\nv4l2_ctrl_find() (ctrl-\u003eelems). This mirrors the bound the mediatek AV1\ndecoder already enforces."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The malformed tile_cols/tile_rows and TILE_GROUP_ENTRY data are supplied by a local process through V4L2 request ioctls (VIDIOC_S_EXT_CTRLS + MEDIA_REQUEST_IOC_QUEUE) on the vpu981 /dev/videoN decoder, reaching rockchip_vpu981_av1_dec_run() -\u003e set_tile_info(); no network protocol carries the input.\nAC:L - validate_av1_frame() never bounds tile_cols/tile_rows (u8, up to 255), so setting tile_cols*tile_rows above 128 makes set_tile_info() deterministically write 16 bytes per tile past the 2KB AV1_TILE_INFO_SIZE buffer, with no race and no outside condition.\nPR:L - No capability check guards the stateless decoder\u0027s controls or request queue; the attacker only needs open access to the /dev/videoN node, which desktop udev grants to the logged-in seat user (uaccess) or the video group, i.e. an ordinary local user.\nUI:N - The attacker builds the AV1 frame and tile group entry controls and queues the decode request themselves; no other user has to act.\nS:U - The corruption is of kernel memory adjacent to the tile_info coherent buffer, and the resulting impact stays within the kernel\u0027s own authority; no VM, IOMMU or sandbox boundary is crossed.\nC:H - set_tile_info() reads group_entry[tile_id] past the dynamic TILE_GROUP_ENTRY array and width/height_in_sbs_minus_1[] past 64 entries; this out-of-bounds heap read is not strictly bounded to a few bytes, and the write primitive enables further disclosure.\nI:H - The loop writes tile_cols*tile_rows*16 bytes (up to ~1MB) into a 2KB dma_alloc_coherent buffer, with attacker-controlled tile_offset/tile_size and tile width/height bytes, giving an out-of-bounds kernel memory write of attacker-controlled data and length.\nA:H - A large overflow past the tile_info allocation corrupts adjacent kernel memory or faults on an unmapped guard page, causing a kernel oops or panic that the attacker can repeat at will."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-19T09:09:39.822Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/95ee48eb17c91bd4859b65e0a54e7722f370d0e5"
},
{
"url": "https://git.kernel.org/stable/c/40029f7f35397853f8711d6fce1d90a4c7a01f8c"
},
{
"url": "https://git.kernel.org/stable/c/a41babf528f70c9a82ed31cfb5fe19065910f7f0"
},
{
"url": "https://git.kernel.org/stable/c/fd965369220cc160bb20a24991790814bfbab401"
},
{
"url": "https://git.kernel.org/stable/c/367db8b23c26a913d76ed70457bbcd781c422b49"
}
],
"title": "media: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-97577",
"datePublished": "2026-09-25T10:21:59.950Z",
"dateReserved": "2026-09-24T16:01:01.156Z",
"dateUpdated": "2026-10-19T09:09:39.822Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-97577",
"date": "2026-11-13",
"epss": "0.00163",
"percentile": "0.05593"
},
"microsoft_vex": {
"current_release_date": "2026-11-02T01:46:10.000Z",
"cve": "CVE-2026-97577",
"id": "msrc_CVE-2026-97577",
"initial_release_date": "2026-10-20T22:23:34.000Z",
"product_status:fixed": "1",
"product_status:known_affected": "1",
"product_status:under_investigation": "1",
"source": "Microsoft CSAF VEX",
"status": "final",
"title": "media: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity",
"url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-97577.json",
"version": "5"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "95ee48eb17c91bd4859b65e0a54e7722f370d0e5",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "40029f7f35397853f8711d6fce1d90a4c7a01f8c",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "a41babf528f70c9a82ed31cfb5fe19065910f7f0",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "fd965369220cc160bb20a24991790814bfbab401",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
},
{
"lessThan": "367db8b23c26a913d76ed70457bbcd781c422b49",
"status": "affected",
"version": "727a400686a2c0d25015c9e44916a59b72882f83",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.5"
},
{
"lessThan": "6.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity\n\nrockchip_vpu981_av1_dec_set_tile_info() indexes the tile group entry\narray by tile1 * tile_cols + tile0, reading up to tile_cols * tile_rows\nentries, lays out one descriptor per tile in the AV1_MAX_TILES tile_info\nbuffer, and programs the real tile_cols / tile_rows into the hardware.\n\nThe tile group entry control is a dynamic array sized to the number of\nentries userspace submitted, independent of tile_cols / tile_rows, so a\nframe that claims more tiles than entries reads past the array. A frame\nthat claims more than AV1_MAX_TILES tiles also leaves the hardware\nprogrammed for more tiles than the descriptor buffer holds.\n\nReject both in prepare_run(): tile_cols * tile_rows must not exceed the\nsubmitted entry count or AV1_MAX_TILES. The entry count is read via\nv4l2_ctrl_find() (ctrl-\u003eelems). This mirrors the bound the mediatek AV1\ndecoder already enforces."
}
],
"id": "CVE-2026-97577",
"lastModified": "2026-10-19T10:17:26.973",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
}
]
},
"published": "2026-09-25T11:17:08.447",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/367db8b23c26a913d76ed70457bbcd781c422b49"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/40029f7f35397853f8711d6fce1d90a4c7a01f8c"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/95ee48eb17c91bd4859b65e0a54e7722f370d0e5"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/a41babf528f70c9a82ed31cfb5fe19065910f7f0"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/fd965369220cc160bb20a24991790814bfbab401"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Received"
}
},
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-11-06T02:28:01+00:00",
"cve": "CVE-2026-97577",
"id": "CVE-2026-97577",
"initial_release_date": "2026-09-25T00:00:00+00:00",
"product_status:known_not_affected": "203",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: media: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-97577.json",
"version": "3"
}
}
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.