CVE-2026-68348 (GCVE-0-2026-68348)

Vulnerability from cvelistv5 – Published: 2026-08-10 12:03 – Updated: 2026-08-17 05:03
VLAI
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.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < 3ddb0d3e36507615e5ef010a879357a54870adf5 (git)
Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < 0ec45e80a82785ee147516fdecf5c93707dec119 (git)
Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < 41ae2b7d37c3dd82302167496836cca9f0328374 (git)
Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < e75ef37d83c90b09bedb601624b47e168202b226 (git)
Affected: 915f5eadebd29ba185ac506766a90120153b7e14 , < bc889dfcea9294a1eae7f8e2f3573a90764ae4d0 (git)
guessed Create a notification for this product.
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)
guessed Create a notification for this product.
Show details on NVD website

{
  "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-08-20",
      "epss": "0.00131",
      "percentile": "0.03119"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-68348\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-10T13:20:26.723\",\"lastModified\":\"2026-08-17T06:17:43.020\",\"vulnStatus\":\"Received\",\"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.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"sound/soc/codecs/tas2781-fmwlib.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"915f5eadebd29ba185ac506766a90120153b7e14\",\"lessThan\":\"3ddb0d3e36507615e5ef010a879357a54870adf5\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"915f5eadebd29ba185ac506766a90120153b7e14\",\"lessThan\":\"0ec45e80a82785ee147516fdecf5c93707dec119\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"915f5eadebd29ba185ac506766a90120153b7e14\",\"lessThan\":\"41ae2b7d37c3dd82302167496836cca9f0328374\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"915f5eadebd29ba185ac506766a90120153b7e14\",\"lessThan\":\"e75ef37d83c90b09bedb601624b47e168202b226\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"915f5eadebd29ba185ac506766a90120153b7e14\",\"lessThan\":\"bc889dfcea9294a1eae7f8e2f3573a90764ae4d0\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"sound/soc/codecs/tas2781-fmwlib.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.5\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.5\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.148\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.101\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.42\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.6\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H\",\"baseScore\":7.1,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.2}]},\"references\":[{\"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\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-13T23:27:21+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": "94",
      "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-08-11T23:46:54Z",
      "cve": "CVE-2026-68348",
      "id": "CVE-2026-68348",
      "initial_release_date": "2026-08-11T23:46:54Z",
      "product_status:known_affected": "30",
      "product_status:known_not_affected": "266",
      "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": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…