CVE-2026-68348 (GCVE-0-2026-68348)
Vulnerability from cvelistv5 – Published: 2026-08-10 12:03 – Updated: 2026-08-17 05:03
VLAI
EPSS
VEX
Title
ASoC: tas2781: bound firmware description string parsing
Summary
In the Linux kernel, the following vulnerability has been resolved:
ASoC: tas2781: bound firmware description string parsing
The TAS2781 firmware parser reads several variable-length description
strings with strlen() before checking that the string terminator is
present inside the firmware blob. A malformed firmware image without a
NUL terminator can therefore make the parser walk past the end of the
firmware buffer before the later size checks run.
Add a small bounded string-length helper and use it for all description
fields that are parsed from the firmware buffer. Keep the existing size
checks for the fixed bytes that follow each string.
Severity
7.1 (High)
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
915f5eadebd29ba185ac506766a90120153b7e14 , < 3ddb0d3e36507615e5ef010a879357a54870adf5
(git)
Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < 0ec45e80a82785ee147516fdecf5c93707dec119 (git) Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < 41ae2b7d37c3dd82302167496836cca9f0328374 (git) Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < e75ef37d83c90b09bedb601624b47e168202b226 (git) Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < bc889dfcea9294a1eae7f8e2f3573a90764ae4d0 (git) |
|
| Linux | Linux |
Affected:
6.5
Unaffected: 0 , < 6.5 (semver) Unaffected: 6.6.148 , ≤ 6.6.* (semver) Unaffected: 6.12.101 , ≤ 6.12.* (semver) Unaffected: 6.18.42 , ≤ 6.18.* (semver) Unaffected: 7.1.6 , ≤ 7.1.* (semver) Unaffected: 7.2 , ≤ * (original_commit_for_fix) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/tas2781-fmwlib.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "3ddb0d3e36507615e5ef010a879357a54870adf5",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "0ec45e80a82785ee147516fdecf5c93707dec119",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "41ae2b7d37c3dd82302167496836cca9f0328374",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "e75ef37d83c90b09bedb601624b47e168202b226",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "bc889dfcea9294a1eae7f8e2f3573a90764ae4d0",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/tas2781-fmwlib.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.148",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.101",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.42",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.148",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.101",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.42",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.6",
"versionStartIncluding": "6.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "6.5",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: tas2781: bound firmware description string parsing\n\nThe TAS2781 firmware parser reads several variable-length description\nstrings with strlen() before checking that the string terminator is\npresent inside the firmware blob. A malformed firmware image without a\nNUL terminator can therefore make the parser walk past the end of the\nfirmware buffer before the later size checks run.\n\nAdd a small bounded string-length helper and use it for all description\nfields that are parsed from the firmware buffer. Keep the existing size\nchecks for the fixed bytes that follow each string."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The malformed blob is consumed by request_firmware() from the local firmware search path during tas2781 codec probe (tasdevice_dsp_parser/tas2781_load_calibration); there is no network, adjacent-network, or peer-supplied data path into the parser, so local presence on the affected system is required.\nAC:L - Simply omitting the NUL terminator at the end of a coef/cal .bin file makes strlen() run past fmw-\u003esize deterministically on every load \u2014 no race, no timing window, and no memory-layout precondition the attacker cannot influence.\nPR:L - The parsing path contains no capability, credential, or privilege check whatsoever, and the firmware search path on many embedded/Android/appliance deployments lives on a vendor or data partition writable by non-root system accounts; a low-privileged local account is therefore sufficient to be positioned to place the blob.\nUI:N - Parsing runs from the asynchronous request_firmware_nowait() completion callback during device probe/bind; once the file is in place it is consumed automatically at the next boot or driver bind with no victim action required.\nS:U - The out-of-bounds read occurs in kernel memory belonging to the same kernel that hosts the vulnerable codec driver, with no crossing of a VM, IOMMU, or sandbox boundary.\nC:H - strlen() is unbounded \u2014 it walks from the description offset through arbitrary kernel memory adjacent to the firmware buffer until a zero byte is found, so the read is not confined to a few bytes and touches heap/vmalloc contents outside the intended allocation.\nI:N - The defect is purely a read: the computed length is re-validated against fmw-\u003esize afterwards (and int/size_t promotion makes overflowed sums fail the check), so no out-of-bounds write or corrupted parse offset results from the OOB strlen.\nA:H - Firmware buffers are vmalloc/kmalloc allocations, so a strlen() walk past the end readily crosses into an unmapped page or guard page and produces a kernel oops/panic, which is High availability impact."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-17T05:03:50.265Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/3ddb0d3e36507615e5ef010a879357a54870adf5"
},
{
"url": "https://git.kernel.org/stable/c/0ec45e80a82785ee147516fdecf5c93707dec119"
},
{
"url": "https://git.kernel.org/stable/c/41ae2b7d37c3dd82302167496836cca9f0328374"
},
{
"url": "https://git.kernel.org/stable/c/e75ef37d83c90b09bedb601624b47e168202b226"
},
{
"url": "https://git.kernel.org/stable/c/bc889dfcea9294a1eae7f8e2f3573a90764ae4d0"
}
],
"title": "ASoC: tas2781: bound firmware description string parsing",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-68348",
"datePublished": "2026-08-10T12:03:25.193Z",
"dateReserved": "2026-07-30T09:28:09.384Z",
"dateUpdated": "2026-08-17T05:03:50.265Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-68348",
"date": "2026-10-09",
"epss": "0.00166",
"percentile": "0.05337"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/tas2781-fmwlib.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "3ddb0d3e36507615e5ef010a879357a54870adf5",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "0ec45e80a82785ee147516fdecf5c93707dec119",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "41ae2b7d37c3dd82302167496836cca9f0328374",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "e75ef37d83c90b09bedb601624b47e168202b226",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
},
{
"lessThan": "bc889dfcea9294a1eae7f8e2f3573a90764ae4d0",
"status": "affected",
"version": "915f5eadebd29ba185ac506766a90120153b7e14",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/tas2781-fmwlib.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.148",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.101",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.42",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.6",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"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\nASoC: tas2781: bound firmware description string parsing\n\nThe TAS2781 firmware parser reads several variable-length description\nstrings with strlen() before checking that the string terminator is\npresent inside the firmware blob. A malformed firmware image without a\nNUL terminator can therefore make the parser walk past the end of the\nfirmware buffer before the later size checks run.\n\nAdd a small bounded string-length helper and use it for all description\nfields that are parsed from the firmware buffer. Keep the existing size\nchecks for the fixed bytes that follow each string."
}
],
"id": "CVE-2026-68348",
"lastModified": "2026-08-17T06:17:43.020",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 5.2,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
}
]
},
"published": "2026-08-10T13:20:26.723",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/0ec45e80a82785ee147516fdecf5c93707dec119"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/3ddb0d3e36507615e5ef010a879357a54870adf5"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/41ae2b7d37c3dd82302167496836cca9f0328374"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/bc889dfcea9294a1eae7f8e2f3573a90764ae4d0"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/e75ef37d83c90b09bedb601624b47e168202b226"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Received"
}
},
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-08-31T11:22:54+00:00",
"cve": "CVE-2026-68348",
"id": "CVE-2026-68348",
"initial_release_date": "2026-08-10T00:00:00+00:00",
"product_status:known_affected": "182",
"product_status:known_not_affected": "95",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: ASoC: tas2781: bound firmware description string parsing",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68348.json",
"version": "3"
},
"suse_vex": {
"aggregate_severity": "moderate",
"current_release_date": "2026-10-03T00:33:32Z",
"cve": "CVE-2026-68348",
"id": "CVE-2026-68348",
"initial_release_date": "2026-08-11T23:46:54Z",
"product_status:known_affected": "426",
"product_status:known_not_affected": "307",
"product_status:recommended": "252",
"source": "SUSE CSAF VEX",
"status": "interim",
"title": "SUSE CVE CVE-2026-68348",
"url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-68348.json",
"version": "9"
}
}
}
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…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
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.
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.
Loading…
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.
Loading…