CVE-2024-41056 (GCVE-0-2024-41056)

Vulnerability from cvelistv5 – Published: 2024-07-29 14:33 – Updated: 2026-08-05 11:35
VLAI
Title
firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files
Summary
In the Linux kernel, the following vulnerability has been resolved: firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files Use strnlen() instead of strlen() on the algorithm and coefficient name string arrays in V1 wmfw files. In V1 wmfw files the name is a NUL-terminated string in a fixed-size array. cs_dsp should protect against overrunning the array if the NUL terminator is missing.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator (v2.0.3)
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: f6bc909e7673c30abcbdb329e7d0aa2e83c103d7 , < 16d76857d6b5426f41b587d0bb925de3f25bfb21 (git)
Affected: f6bc909e7673c30abcbdb329e7d0aa2e83c103d7 , < 392cff2f86a25a4286ff3151c7739143c61c1781 (git)
Affected: f6bc909e7673c30abcbdb329e7d0aa2e83c103d7 , < 53a9f8cdbf35a682e9894e1a606f4640e5359185 (git)
Affected: f6bc909e7673c30abcbdb329e7d0aa2e83c103d7 , < 680e126ec0400f6daecf0510c5bb97a55779ff03 (git)
Create a notification for this product.
Linux Linux Affected: 5.16
Unaffected: 0 , < 5.16 (semver)
Unaffected: 6.1.100 , ≤ 6.1.* (semver)
Unaffected: 6.6.41 , ≤ 6.6.* (semver)
Unaffected: 6.9.10 , ≤ 6.9.* (semver)
Unaffected: 6.10 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T21:59:55.872Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-41056",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T16:22:25.022416Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:34:01.793Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/firmware/cirrus/cs_dsp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "16d76857d6b5426f41b587d0bb925de3f25bfb21",
              "status": "affected",
              "version": "f6bc909e7673c30abcbdb329e7d0aa2e83c103d7",
              "versionType": "git"
            },
            {
              "lessThan": "392cff2f86a25a4286ff3151c7739143c61c1781",
              "status": "affected",
              "version": "f6bc909e7673c30abcbdb329e7d0aa2e83c103d7",
              "versionType": "git"
            },
            {
              "lessThan": "53a9f8cdbf35a682e9894e1a606f4640e5359185",
              "status": "affected",
              "version": "f6bc909e7673c30abcbdb329e7d0aa2e83c103d7",
              "versionType": "git"
            },
            {
              "lessThan": "680e126ec0400f6daecf0510c5bb97a55779ff03",
              "status": "affected",
              "version": "f6bc909e7673c30abcbdb329e7d0aa2e83c103d7",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/firmware/cirrus/cs_dsp.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.16"
            },
            {
              "lessThan": "5.16",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.100",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.41",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.9.*",
              "status": "unaffected",
              "version": "6.9.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.10",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.100",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.41",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.9.10",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.10",
                  "versionStartIncluding": "5.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfirmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files\n\nUse strnlen() instead of strlen() on the algorithm and coefficient name\nstring arrays in V1 wmfw files.\n\nIn V1 wmfw files the name is a NUL-terminated string in a fixed-size\narray. cs_dsp should protect against overrunning the array if the NUL\nterminator is missing."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.3,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The malicious V1 wmfw blob is delivered through `request_firmware()`/`firmware_request_nowarn()` from the local filesystem and parsed by `cs_dsp_load()`; the load is initiated locally at driver probe, DAPM stream start, or via the DSP preload ALSA control. No remote or adjacent-bus peer data reaches this parser.\nAC:L - The attacker authors the entire file, so simply omitting the NUL terminator and keeping every byte to EOF non-zero makes `strlen()` deterministically run off the end of the `vmalloc()`\u0027d firmware buffer \u2014 no race, timing window, or memory-layout luck is involved, and the parse can be re-triggered on demand through the preload control.\nPR:L - The parse is triggered by any unprivileged local user with `/dev/snd` access (`wm_adsp2_preloader_put()` and normal playback/DAPM power-up perform no capability check), and the blob is not always root-exclusive in practice \u2014 firmware-staging/update agents, bind-mounts over `/lib/firmware/updates`, and delegated fallback-loader setups can place it within reach of a low-privileged account; choosing the higher-severity option between L and H.\nUI:N - Once the crafted wmfw is in place it is fetched and parsed automatically at driver probe or first audio stream, and the attacker can force the load from their own process via the DSP preloader; no victim action is required.\nS:U - The over-read and its consequences stay within the kernel\u0027s own security authority (the cs_dsp parser and the codec it drives); no hypervisor, IOMMU, or sandbox boundary is crossed.\nC:H - `strlen()` on an unterminated 256-byte array performs an unbounded out-of-bounds read that first traverses the un-zeroed tail of the final `vmalloc()` page \u2014 stale kernel page contents \u2014 and those bytes are echoed to the kernel log through the `cs_dsp_dbg(\"Algorithm name: %.*s\")`/`(\"Coefficient name: %.*s\")` prints, so the disclosure is neither bounded to a few bytes nor confined to the driver.\nI:L - The out-of-bounds-derived `name_len` is propagated as `subname_len` into `cs_dsp_create_control()`, where it decides whether an existing control is reused or a new one is added, leaving driver control state inconsistent with the file; this is bounded, attacker-influenced modification with no arbitrary-write primitive, since the V1 path does not copy the name (`fw_ver \u003e= 2` gate).\nA:H - With no NUL byte before EOF the scan walks past the end of the `vmalloc()`\u0027d firmware buffer into the guard page, producing an unhandled page fault/oops (and a KASAN out-of-bounds panic on hardened builds), which an unprivileged user can re-trigger at will through the DSP preload control."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:35:02.501Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21"
        },
        {
          "url": "https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781"
        },
        {
          "url": "https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185"
        },
        {
          "url": "https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03"
        }
      ],
      "title": "firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-41056",
    "datePublished": "2024-07-29T14:33:27.453Z",
    "dateReserved": "2024-07-12T12:17:45.627Z",
    "dateUpdated": "2026-08-05T11:35:02.501Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-41056",
      "date": "2026-08-06",
      "epss": "0.00253",
      "percentile": "0.16702"
    },
    "fkie_nvd": {
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfirmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files\\n\\nUse strnlen() instead of strlen() on the algorithm and coefficient name\\nstring arrays in V1 wmfw files.\\n\\nIn V1 wmfw files the name is a NUL-terminated string in a fixed-size\\narray. cs_dsp should protect against overrunning the array if the NUL\\nterminator is missing.\"}, {\"lang\": \"es\", \"value\": \" En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: firmware: cs_dsp: use strnlen() en los campos de nombre en archivos wmfw V1. Use strnlen() en lugar de strlen() en las matrices de cadenas de nombres de algoritmos y coeficientes en archivos wmfw V1. En los archivos wmfw V1, el nombre es una cadena terminada en NUL en una matriz de tama\\u00f1o fijo. cs_dsp deber\\u00eda proteger contra el desbordamiento de la matriz si falta el terminador NUL.\"}]",
      "id": "CVE-2024-41056",
      "lastModified": "2024-11-21T09:32:09.250",
      "published": "2024-07-29T15:15:13.703",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}, {\"url\": \"https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\"}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Awaiting Analysis"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-41056\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-07-29T15:15:13.703\",\"lastModified\":\"2026-08-04T11:19:23.653\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfirmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files\\n\\nUse strnlen() instead of strlen() on the algorithm and coefficient name\\nstring arrays in V1 wmfw files.\\n\\nIn V1 wmfw files the name is a NUL-terminated string in a fixed-size\\narray. cs_dsp should protect against overrunning the array if the NUL\\nterminator is missing.\"},{\"lang\":\"es\",\"value\":\" En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: firmware: cs_dsp: use strnlen() en los campos de nombre en archivos wmfw V1. Use strnlen() en lugar de strlen() en las matrices de cadenas de nombres de algoritmos y coeficientes en archivos wmfw V1. En los archivos wmfw V1, el nombre es una cadena terminada en NUL en una matriz de tama\u00f1o fijo. cs_dsp deber\u00eda proteger contra el desbordamiento de la matriz si falta el terminador NUL.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/firmware/cirrus/cs_dsp.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\",\"lessThan\":\"16d76857d6b5426f41b587d0bb925de3f25bfb21\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\",\"lessThan\":\"392cff2f86a25a4286ff3151c7739143c61c1781\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\",\"lessThan\":\"53a9f8cdbf35a682e9894e1a606f4640e5359185\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\",\"lessThan\":\"680e126ec0400f6daecf0510c5bb97a55779ff03\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/firmware/cirrus/cs_dsp.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.16\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.16\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.100\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.41\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.9.10\",\"lessThanOrEqual\":\"6.9.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.10\",\"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:L/A:H\",\"baseScore\":7.3,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.5},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-09-10T16:22:25.022416Z\",\"id\":\"CVE-2024-41056\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"NVD-CWE-noinfo\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.100\",\"matchCriteriaId\":\"100CDF74-4DB5-4FC6-A54B-BDBDB0C27137\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.41\",\"matchCriteriaId\":\"96AC42B8-D66D-4AC5-B466-E9BA7910FA29\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.9.10\",\"matchCriteriaId\":\"AB2E8DEC-CFD5-4C2B-981D-E7E45A36C352\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"2EBB4392-5FA6-4DA9-9772-8F9C750109FA\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"331C2F14-12C7-45D5-893D-8C52EE38EA10\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"3173713D-909A-4DD3-9DD4-1E171EB057EE\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"79F18AFA-40F7-43F0-BA30-7BDB65F918B9\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"BD973AA4-A789-49BD-8D57-B2846935D3C7\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"8F3E9E0C-AC3E-4967-AF80-6483E8AB0078\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.10:rc7:*:*:*:*:*:*\",\"matchCriteriaId\":\"11AF4CB9-F697-4EA4-8903-8F9417EFDA8E\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T18:43:37+00:00",
      "cve": "CVE-2024-41056",
      "id": "CVE-2024-41056",
      "initial_release_date": "2024-07-29T00:00:00+00:00",
      "product_status:fixed": "943",
      "product_status:known_affected": "22",
      "product_status:known_not_affected": "51",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-41056.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-05T00:55:24Z",
      "cve": "CVE-2024-41056",
      "id": "CVE-2024-41056",
      "initial_release_date": "2024-08-06T02:01:39Z",
      "product_status:known_affected": "401",
      "product_status:known_not_affected": "181",
      "product_status:recommended": "668",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-41056",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-41056.json",
      "version": "66"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-11-03T21:59:55.872Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-41056\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T16:22:25.022416Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:20.258Z\"}}], \"cna\": {\"title\": \"firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.3, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The malicious V1 wmfw blob is delivered through `request_firmware()`/`firmware_request_nowarn()` from the local filesystem and parsed by `cs_dsp_load()`; the load is initiated locally at driver probe, DAPM stream start, or via the DSP preload ALSA control. No remote or adjacent-bus peer data reaches this parser.\\nAC:L - The attacker authors the entire file, so simply omitting the NUL terminator and keeping every byte to EOF non-zero makes `strlen()` deterministically run off the end of the `vmalloc()`\u0027d firmware buffer \\u2014 no race, timing window, or memory-layout luck is involved, and the parse can be re-triggered on demand through the preload control.\\nPR:L - The parse is triggered by any unprivileged local user with `/dev/snd` access (`wm_adsp2_preloader_put()` and normal playback/DAPM power-up perform no capability check), and the blob is not always root-exclusive in practice \\u2014 firmware-staging/update agents, bind-mounts over `/lib/firmware/updates`, and delegated fallback-loader setups can place it within reach of a low-privileged account; choosing the higher-severity option between L and H.\\nUI:N - Once the crafted wmfw is in place it is fetched and parsed automatically at driver probe or first audio stream, and the attacker can force the load from their own process via the DSP preloader; no victim action is required.\\nS:U - The over-read and its consequences stay within the kernel\u0027s own security authority (the cs_dsp parser and the codec it drives); no hypervisor, IOMMU, or sandbox boundary is crossed.\\nC:H - `strlen()` on an unterminated 256-byte array performs an unbounded out-of-bounds read that first traverses the un-zeroed tail of the final `vmalloc()` page \\u2014 stale kernel page contents \\u2014 and those bytes are echoed to the kernel log through the `cs_dsp_dbg(\\\"Algorithm name: %.*s\\\")`/`(\\\"Coefficient name: %.*s\\\")` prints, so the disclosure is neither bounded to a few bytes nor confined to the driver.\\nI:L - The out-of-bounds-derived `name_len` is propagated as `subname_len` into `cs_dsp_create_control()`, where it decides whether an existing control is reused or a new one is added, leaving driver control state inconsistent with the file; this is bounded, attacker-influenced modification with no arbitrary-write primitive, since the V1 path does not copy the name (`fw_ver \u003e= 2` gate).\\nA:H - With no NUL byte before EOF the scan walks past the end of the `vmalloc()`\u0027d firmware buffer into the guard page, producing an unhandled page fault/oops (and a KASAN out-of-bounds panic on hardened builds), which an unprivileged user can re-trigger at will through the DSP preload control.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\", \"lessThan\": \"16d76857d6b5426f41b587d0bb925de3f25bfb21\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\", \"lessThan\": \"392cff2f86a25a4286ff3151c7739143c61c1781\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\", \"lessThan\": \"53a9f8cdbf35a682e9894e1a606f4640e5359185\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"f6bc909e7673c30abcbdb329e7d0aa2e83c103d7\", \"lessThan\": \"680e126ec0400f6daecf0510c5bb97a55779ff03\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/firmware/cirrus/cs_dsp.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.16\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.16\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.100\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.41\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.9.10\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.9.*\"}, {\"status\": \"unaffected\", \"version\": \"6.10\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/firmware/cirrus/cs_dsp.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/16d76857d6b5426f41b587d0bb925de3f25bfb21\"}, {\"url\": \"https://git.kernel.org/stable/c/392cff2f86a25a4286ff3151c7739143c61c1781\"}, {\"url\": \"https://git.kernel.org/stable/c/53a9f8cdbf35a682e9894e1a606f4640e5359185\"}, {\"url\": \"https://git.kernel.org/stable/c/680e126ec0400f6daecf0510c5bb97a55779ff03\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfirmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files\\n\\nUse strnlen() instead of strlen() on the algorithm and coefficient name\\nstring arrays in V1 wmfw files.\\n\\nIn V1 wmfw files the name is a NUL-terminated string in a fixed-size\\narray. cs_dsp should protect against overrunning the array if the NUL\\nterminator is missing.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.100\", \"versionStartIncluding\": \"5.16\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.41\", \"versionStartIncluding\": \"5.16\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.9.10\", \"versionStartIncluding\": \"5.16\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.10\", \"versionStartIncluding\": \"5.16\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:35:02.501Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-41056\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:35:02.501Z\", \"dateReserved\": \"2024-07-12T12:17:45.627Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-07-29T14:33:27.453Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.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…