ASoC: SOF: topology: validate vendor array size before parsing (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.21 % · percentile 11 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
Description
In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: topology: validate vendor array size before parsing sof_parse_token_sets() reads array->size while iterating over topology private data. The loop condition only checks that some data remains, so a malformed topology with a truncated trailing vendor array can make the parser read the size field before a full vendor-array header is available. Validate that the remaining private data contains a complete snd_soc_tplg_vendor_array header before reading array->size. The declared array size check also needs to remain signed. asize is an int, but sizeof(*array) has type size_t, so comparing them directly promotes negative asize values to unsigned and lets them pass the check, as reported in the stable review thread reference below. Cast sizeof(*array) to int when validating the declared array size. This rejects negative, zero and otherwise too-small sizes before the parser dispatches to the tuple-specific code.
References
- https://git.kernel.org/stable/c/7c6d2d2baeb1e62dc8c6951d27edc16c5ea6e3aa
- https://git.kernel.org/stable/c/a40e250414b463e953c54cd2a829c9a9a49a78c3
- https://git.kernel.org/stable/c/d34deef34c99bb4b3ebd2ac51058857827a20e7e
- https://git.kernel.org/stable/c/201b60c4d15538fcc3c0c2ea9b75dd7d0f58022c
- https://git.kernel.org/stable/c/8468dd79cfb2ffbdeaf7c353f63d64941cb8ba05
European references
- ENISA EUVD · EUVD-2026-59199
- GCVE · GCVE-0-2026-72300
CERT-FR advisories
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1333 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1286 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 5c37bd025068381f5bdbbf6a5ae3a1da8f6ed928 < 7c6d2d2baeb1e62dc8c6951d27edc16c5ea6e3aa ; affected 06d4938e41d62af7b5b3f39eb239f58b21f50443 < a40e250414b463e953c54cd2a829c9a9a49a78c3 ; affected 55024322915539098f7a7dd318351c7a003ff041 < d34deef34c99bb4b3ebd2ac51058857827a20e7e ; affected 215e5fe75881a7e2425df04aeeed47a903d5cd5d < 201b60c4d15538fcc3c0c2ea9b75dd7d0f58022c ; affected 215e5fe75881a7e2425df04aeeed47a903d5cd5d < 8468dd79cfb2ffbdeaf7c353f63d64941cb8ba05 ; affected 756c48bdf23050def518e85929be6edea9ae6823 |
| Linux · Linux | affected 7.0 ; unaffected 0 < 7.0 ; unaffected 6.6.145 ≤ 6.6.* ; unaffected 6.12.97 ≤ 6.12.* ; unaffected 6.18.40 ≤ 6.18.* ; unaffected 7.1.5 ≤ 7.1.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |