media: solo6x10: Check for out of bounds chip_id
In the Linux kernel, the following vulnerability has been resolved: media: solo6x10: Check for out of bounds chip_id Clang with CONFIG_UBSAN_SHIFT=y noticed a condition where a signed type (literal "1" is an "int") could end up being shifted beyond 32 bits, so instrumentation was added (and due to the double is_tw286x() call seen via inlining), Clang decides the second one must now be undefined behavior and elides the rest of the function[1]. This is a known problem with Clang (that is still being worked on), but we can avoid the entire problem by actually checking the existing max chip ID, and now there is no runtime instrumentation added at all since everything is known to be within bounds. Additionally use an unsigned value for the shift to remove the instrumentation even without the explicit bounds checking. [hverkuil: fix checkpatch warning for is_tw286x]
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.252, 5.15.202, 6.1.165, 6.12.75, 6.18.16, 6.19.6, 6.6.128
- CVEs
- CVE-2026-43316
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 18:25 UTC · Revision 1
Source evidence
media: solo6x10: Check for out of bounds chip_id
core-osv · Original sourcePublished 8 May 2026, 13:26 UTC
In the Linux kernel, the following vulnerability has been resolved: media: solo6x10: Check for out of bounds chip_id Clang with CONFIG_UBSAN_SHIFT=y noticed a condition where a signed type (literal "1" is an "int") could end up being shifted beyond 32 bits, so instrumentation was added (and due to the double is_tw286x() call seen via inlining), Clang decides the second one must now be undefined behavior and elides the rest of the function[1]. This is a known problem with Clang (that is still being worked on), but we can avoid the entire problem by actually checking the existing max chip ID, and now there is no runtime instrumentation added at all since everything is known to be within bounds. Additionally use an unsigned value for the shift to remove the instrumentation even without the explicit bounds checking. [hverkuil: fix checkpatch warning for is_tw286x]
osv:CVE-2026-43316
Kernel
Fixed versions: 5.10.252, 5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.16, 6.19.6
Complete source record
{
"id": "c6f730b77460b82820130ad30dc4019e809da6b450f89b0fa86f6e8f8a485e49",
"url": "https://osv.dev/vulnerability/CVE-2026-43316",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "media: solo6x10: Check for out of bounds chip_id",
"summary": "In the Linux kernel, the following vulnerability has been resolved: media: solo6x10: Check for out of bounds chip_id Clang with CONFIG_UBSAN_SHIFT=y noticed a condition where a signed type (literal \"1\" is an \"int\") could end up being shifted beyond 32 bits, so instrumentation was added (and due to the double is_tw286x() call seen via inlining), Clang decides the second one must now be undefined behavior and elides the rest of the function[1]. This is a known problem with Clang (that is still being worked on), but we can avoid the entire problem by actually checking the existing max chip ID, and now there is no runtime instrumentation added at all since everything is known to be within bounds. Additionally use an unsigned value for the shift to remove the instrumentation even without the explicit bounds checking. [hverkuil: fix checkpatch warning for is_tw286x]",
"evidence": "osv:CVE-2026-43316",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.252",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.202",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.165",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.128",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.75",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.16",
"evidence": "/affected/1/ranges"
},
{
"value": "6.19.6",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-43316",
"aliases": [
"CVE-2026-43316"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "faa4fd2a09517b39cc1f5d622453f97a59acfdac"
},
{
"fixed": "c327192ca26670cf6e588c1eeda66cd2fa97630e"
},
{
"fixed": "0b3dadada2417782a63ce32dae05bafe1c949e3f"
},
{
"fixed": "603e3859393ee2ce91393b7d05e6e56e4b66e5cd"
},
{
"fixed": "33af366211ee78e3b074ff44a16121e537e86826"
},
{
"fixed": "5849ae68d7b8b6ad55cc1bf0d227dd2ae6362528"
},
{
"fixed": "d29f33b2cf98e4901cd5457d1ee34062e808df73"
},
{
"fixed": "4d6db0c6bbbfd8d7bbdbf7ab6a9c003752abf116"
},
{
"fixed": "0fdf6323c35a134f206dcad5babb4ff488552076"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43316.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "2.6.36"
},
{
"fixed": "5.10.252"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.202"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.165"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.128"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.75"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.16"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "6.19.6"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43316.json"
}
}
],
"modified": "2026-10-28T02:30:31.479476228Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/0b3dadada2417782a63ce32dae05bafe1c949e3f",
"https://git.kernel.org/stable/c/0fdf6323c35a134f206dcad5babb4ff488552076",
"https://git.kernel.org/stable/c/33af366211ee78e3b074ff44a16121e537e86826",
"https://git.kernel.org/stable/c/4d6db0c6bbbfd8d7bbdbf7ab6a9c003752abf116",
"https://git.kernel.org/stable/c/5849ae68d7b8b6ad55cc1bf0d227dd2ae6362528",
"https://git.kernel.org/stable/c/603e3859393ee2ce91393b7d05e6e56e4b66e5cd",
"https://git.kernel.org/stable/c/c327192ca26670cf6e588c1eeda66cd2fa97630e",
"https://git.kernel.org/stable/c/d29f33b2cf98e4901cd5457d1ee34062e808df73",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43316.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-43316",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43316.json"
}
},
"related_cves": [
{
"value": "CVE-2026-43316",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 498393,
"published_at": "2026-05-08T13:26:12.217+00:00"
}