CVE-2026-43316 (GCVE-0-2026-43316)
Vulnerability from cvelistv5 – Published: 2026-05-08 13:26 – Updated: 2026-05-08 13:26
VLAI?
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]
Severity ?
No CVSS data available.
Assigner
References
Impacted products
| Vendor | Product | Version | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Linux | Linux |
Affected:
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < c327192ca26670cf6e588c1eeda66cd2fa97630e
(git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 0b3dadada2417782a63ce32dae05bafe1c949e3f (git) Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 603e3859393ee2ce91393b7d05e6e56e4b66e5cd (git) Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 33af366211ee78e3b074ff44a16121e537e86826 (git) Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 5849ae68d7b8b6ad55cc1bf0d227dd2ae6362528 (git) Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < d29f33b2cf98e4901cd5457d1ee34062e808df73 (git) Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 4d6db0c6bbbfd8d7bbdbf7ab6a9c003752abf116 (git) Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 0fdf6323c35a134f206dcad5babb4ff488552076 (git) |
|||||||
|
|||||||||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/media/pci/solo6x10/solo6x10-tw28.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "c327192ca26670cf6e588c1eeda66cd2fa97630e",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "0b3dadada2417782a63ce32dae05bafe1c949e3f",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "603e3859393ee2ce91393b7d05e6e56e4b66e5cd",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "33af366211ee78e3b074ff44a16121e537e86826",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "5849ae68d7b8b6ad55cc1bf0d227dd2ae6362528",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "d29f33b2cf98e4901cd5457d1ee34062e808df73",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "4d6db0c6bbbfd8d7bbdbf7ab6a9c003752abf116",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
},
{
"lessThan": "0fdf6323c35a134f206dcad5babb4ff488552076",
"status": "affected",
"version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/media/pci/solo6x10/solo6x10-tw28.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.252",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.202",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.165",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.128",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.75",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.16",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.19.*",
"status": "unaffected",
"version": "6.19.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.0",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.252",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.202",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.165",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.128",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.75",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.19.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: solo6x10: Check for out of bounds chip_id\n\nClang with CONFIG_UBSAN_SHIFT=y noticed a condition where a signed type\n(literal \"1\" is an \"int\") could end up being shifted beyond 32 bits,\nso instrumentation was added (and due to the double is_tw286x() call\nseen via inlining), Clang decides the second one must now be undefined\nbehavior and elides the rest of the function[1]. This is a known problem\nwith Clang (that is still being worked on), but we can avoid the entire\nproblem by actually checking the existing max chip ID, and now there is\nno runtime instrumentation added at all since everything is known to be\nwithin bounds.\n\nAdditionally use an unsigned value for the shift to remove the\ninstrumentation even without the explicit bounds checking.\n\n[hverkuil: fix checkpatch warning for is_tw286x]"
}
],
"providerMetadata": {
"dateUpdated": "2026-05-08T13:26:12.217Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/c327192ca26670cf6e588c1eeda66cd2fa97630e"
},
{
"url": "https://git.kernel.org/stable/c/0b3dadada2417782a63ce32dae05bafe1c949e3f"
},
{
"url": "https://git.kernel.org/stable/c/603e3859393ee2ce91393b7d05e6e56e4b66e5cd"
},
{
"url": "https://git.kernel.org/stable/c/33af366211ee78e3b074ff44a16121e537e86826"
},
{
"url": "https://git.kernel.org/stable/c/5849ae68d7b8b6ad55cc1bf0d227dd2ae6362528"
},
{
"url": "https://git.kernel.org/stable/c/d29f33b2cf98e4901cd5457d1ee34062e808df73"
},
{
"url": "https://git.kernel.org/stable/c/4d6db0c6bbbfd8d7bbdbf7ab6a9c003752abf116"
},
{
"url": "https://git.kernel.org/stable/c/0fdf6323c35a134f206dcad5babb4ff488552076"
}
],
"title": "media: solo6x10: Check for out of bounds chip_id",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-43316",
"datePublished": "2026-05-08T13:26:12.217Z",
"dateReserved": "2026-05-01T14:12:56.001Z",
"dateUpdated": "2026-05-08T13:26:12.217Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2026-43316\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-08T14:16:40.117\",\"lastModified\":\"2026-05-08T14:16:40.117\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmedia: solo6x10: Check for out of bounds chip_id\\n\\nClang with CONFIG_UBSAN_SHIFT=y noticed a condition where a signed type\\n(literal \\\"1\\\" is an \\\"int\\\") could end up being shifted beyond 32 bits,\\nso instrumentation was added (and due to the double is_tw286x() call\\nseen via inlining), Clang decides the second one must now be undefined\\nbehavior and elides the rest of the function[1]. This is a known problem\\nwith Clang (that is still being worked on), but we can avoid the entire\\nproblem by actually checking the existing max chip ID, and now there is\\nno runtime instrumentation added at all since everything is known to be\\nwithin bounds.\\n\\nAdditionally use an unsigned value for the shift to remove the\\ninstrumentation even without the explicit bounds checking.\\n\\n[hverkuil: fix checkpatch warning for is_tw286x]\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0b3dadada2417782a63ce32dae05bafe1c949e3f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/0fdf6323c35a134f206dcad5babb4ff488552076\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/33af366211ee78e3b074ff44a16121e537e86826\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4d6db0c6bbbfd8d7bbdbf7ab6a9c003752abf116\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5849ae68d7b8b6ad55cc1bf0d227dd2ae6362528\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/603e3859393ee2ce91393b7d05e6e56e4b66e5cd\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c327192ca26670cf6e588c1eeda66cd2fa97630e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/d29f33b2cf98e4901cd5457d1ee34062e808df73\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
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.
Loading…
Loading…