CVE-2025-71140 (GCVE-0-2025-71140)
Vulnerability from cvelistv5 – Published: 2026-01-14 15:07 – Updated: 2026-01-14 15:07
VLAI?
Title
media: mediatek: vcodec: Use spinlock for context list protection lock
Summary
In the Linux kernel, the following vulnerability has been resolved:
media: mediatek: vcodec: Use spinlock for context list protection lock
Previously a mutex was added to protect the encoder and decoder context
lists from unexpected changes originating from the SCP IP block, causing
the context pointer to go invalid, resulting in a NULL pointer
dereference in the IPI handler.
Turns out on the MT8173, the VPU IPI handler is called from hard IRQ
context. This causes a big warning from the scheduler. This was first
reported downstream on the ChromeOS kernels, but is also reproducible
on mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though
the actual capture format is not supported, the affected code paths
are triggered.
Since this lock just protects the context list and operations on it are
very fast, it should be OK to switch to a spinlock.
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Affected:
0a2dc707aa42214f9c4827bd57e344e29a0841d6 , < 2c1ea6214827041f548279c9eda341eda0cc8351
(git)
Affected: 6467cda18c9f9b5f2f9a0aa1e2861c653e41f382 , < b92c19675f632a41af1222027a231bc2b7efa7ed (git) Affected: 6467cda18c9f9b5f2f9a0aa1e2861c653e41f382 , < 3e858938b0e659f6ec9ddcf853a87f1c5c3f44e1 (git) Affected: 6467cda18c9f9b5f2f9a0aa1e2861c653e41f382 , < a5844227e0f030d2af2d85d4aed10c5eca6ca176 (git) Affected: 23aaf824121055ba81b55f75444355bd83c8eb38 (git) Affected: 41671f0c0182b2bae74ca7e3b0f155559e3e2fc5 (git) Affected: 51c84a8aac6e3b59af2b0e92ba63cabe2e641a2d (git) |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vpu.c",
"drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c",
"drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.h",
"drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c",
"drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.c",
"drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.h",
"drivers/media/platform/mediatek/vcodec/encoder/venc_vpu_if.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "2c1ea6214827041f548279c9eda341eda0cc8351",
"status": "affected",
"version": "0a2dc707aa42214f9c4827bd57e344e29a0841d6",
"versionType": "git"
},
{
"lessThan": "b92c19675f632a41af1222027a231bc2b7efa7ed",
"status": "affected",
"version": "6467cda18c9f9b5f2f9a0aa1e2861c653e41f382",
"versionType": "git"
},
{
"lessThan": "3e858938b0e659f6ec9ddcf853a87f1c5c3f44e1",
"status": "affected",
"version": "6467cda18c9f9b5f2f9a0aa1e2861c653e41f382",
"versionType": "git"
},
{
"lessThan": "a5844227e0f030d2af2d85d4aed10c5eca6ca176",
"status": "affected",
"version": "6467cda18c9f9b5f2f9a0aa1e2861c653e41f382",
"versionType": "git"
},
{
"status": "affected",
"version": "23aaf824121055ba81b55f75444355bd83c8eb38",
"versionType": "git"
},
{
"status": "affected",
"version": "41671f0c0182b2bae74ca7e3b0f155559e3e2fc5",
"versionType": "git"
},
{
"status": "affected",
"version": "51c84a8aac6e3b59af2b0e92ba63cabe2e641a2d",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vpu.c",
"drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.c",
"drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_drv.h",
"drivers/media/platform/mediatek/vcodec/decoder/vdec_vpu_if.c",
"drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.c",
"drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc_drv.h",
"drivers/media/platform/mediatek/vcodec/encoder/venc_vpu_if.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.9"
},
{
"lessThan": "6.9",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.120",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.64",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "6.19-rc1",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.120",
"versionStartIncluding": "6.6.27",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.64",
"versionStartIncluding": "6.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.4",
"versionStartIncluding": "6.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.19-rc1",
"versionStartIncluding": "6.9",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.8.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.6.27",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.8.6",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: mediatek: vcodec: Use spinlock for context list protection lock\n\nPreviously a mutex was added to protect the encoder and decoder context\nlists from unexpected changes originating from the SCP IP block, causing\nthe context pointer to go invalid, resulting in a NULL pointer\ndereference in the IPI handler.\n\nTurns out on the MT8173, the VPU IPI handler is called from hard IRQ\ncontext. This causes a big warning from the scheduler. This was first\nreported downstream on the ChromeOS kernels, but is also reproducible\non mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though\nthe actual capture format is not supported, the affected code paths\nare triggered.\n\nSince this lock just protects the context list and operations on it are\nvery fast, it should be OK to switch to a spinlock."
}
],
"providerMetadata": {
"dateUpdated": "2026-01-14T15:07:53.581Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/2c1ea6214827041f548279c9eda341eda0cc8351"
},
{
"url": "https://git.kernel.org/stable/c/b92c19675f632a41af1222027a231bc2b7efa7ed"
},
{
"url": "https://git.kernel.org/stable/c/3e858938b0e659f6ec9ddcf853a87f1c5c3f44e1"
},
{
"url": "https://git.kernel.org/stable/c/a5844227e0f030d2af2d85d4aed10c5eca6ca176"
}
],
"title": "media: mediatek: vcodec: Use spinlock for context list protection lock",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2025-71140",
"datePublished": "2026-01-14T15:07:53.581Z",
"dateReserved": "2026-01-13T15:30:19.660Z",
"dateUpdated": "2026-01-14T15:07:53.581Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2025-71140\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-01-14T15:16:03.793\",\"lastModified\":\"2026-01-14T16:25:12.057\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmedia: mediatek: vcodec: Use spinlock for context list protection lock\\n\\nPreviously a mutex was added to protect the encoder and decoder context\\nlists from unexpected changes originating from the SCP IP block, causing\\nthe context pointer to go invalid, resulting in a NULL pointer\\ndereference in the IPI handler.\\n\\nTurns out on the MT8173, the VPU IPI handler is called from hard IRQ\\ncontext. This causes a big warning from the scheduler. This was first\\nreported downstream on the ChromeOS kernels, but is also reproducible\\non mainline using Fluster with the FFmpeg v4l2m2m decoders. Even though\\nthe actual capture format is not supported, the affected code paths\\nare triggered.\\n\\nSince this lock just protects the context list and operations on it are\\nvery fast, it should be OK to switch to a spinlock.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/2c1ea6214827041f548279c9eda341eda0cc8351\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/3e858938b0e659f6ec9ddcf853a87f1c5c3f44e1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a5844227e0f030d2af2d85d4aed10c5eca6ca176\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b92c19675f632a41af1222027a231bc2b7efa7ed\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
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.
Loading…
Loading…