CVE-2023-53465 (GCVE-0-2023-53465)

Vulnerability from cvelistv5 – Published: 2025-10-01 11:42 – Updated: 2026-08-05 09:14
VLAI
Title
soundwire: qcom: fix storing port config out-of-bounds
Summary
In the Linux kernel, the following vulnerability has been resolved: soundwire: qcom: fix storing port config out-of-bounds The 'qcom_swrm_ctrl->pconfig' has size of QCOM_SDW_MAX_PORTS (14), however we index it starting from 1, not 0, to match real port numbers. This can lead to writing port config past 'pconfig' bounds and overwriting next member of 'qcom_swrm_ctrl' struct. Reported also by smatch: drivers/soundwire/qcom.c:1269 qcom_swrm_get_port_config() error: buffer overflow 'ctrl->pconfig' 14 <= 14
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 9916c02ccd74e672b62dd1a9017ac2f237ebf512 , < 20f7c4d51c94abb1a1a7c21900db4fb5afe5c8ff (git)
Affected: 9916c02ccd74e672b62dd1a9017ac2f237ebf512 , < 801daff0078087b5df9145c9f5e643c28129734b (git)
Affected: 9916c02ccd74e672b62dd1a9017ac2f237ebf512 , < 32eb67d7360d48c15883e0d21b29c0aab9da022e (git)
Affected: 9916c02ccd74e672b62dd1a9017ac2f237ebf512 , < 490937d479abe5f6584e69b96df066bc87be92e9 (git)
Create a notification for this product.
Linux Linux Affected: 5.13
Unaffected: 0 , < 5.13 (semver)
Unaffected: 5.15.121 , ≤ 5.15.* (semver)
Unaffected: 6.1.40 , ≤ 6.1.* (semver)
Unaffected: 6.4.5 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/soundwire/qcom.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "20f7c4d51c94abb1a1a7c21900db4fb5afe5c8ff",
              "status": "affected",
              "version": "9916c02ccd74e672b62dd1a9017ac2f237ebf512",
              "versionType": "git"
            },
            {
              "lessThan": "801daff0078087b5df9145c9f5e643c28129734b",
              "status": "affected",
              "version": "9916c02ccd74e672b62dd1a9017ac2f237ebf512",
              "versionType": "git"
            },
            {
              "lessThan": "32eb67d7360d48c15883e0d21b29c0aab9da022e",
              "status": "affected",
              "version": "9916c02ccd74e672b62dd1a9017ac2f237ebf512",
              "versionType": "git"
            },
            {
              "lessThan": "490937d479abe5f6584e69b96df066bc87be92e9",
              "status": "affected",
              "version": "9916c02ccd74e672b62dd1a9017ac2f237ebf512",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/soundwire/qcom.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.13"
            },
            {
              "lessThan": "5.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.121",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.121",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.40",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.5",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "versionStartIncluding": "5.13",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsoundwire: qcom: fix storing port config out-of-bounds\n\nThe \u0027qcom_swrm_ctrl-\u003epconfig\u0027 has size of QCOM_SDW_MAX_PORTS (14),\nhowever we index it starting from 1, not 0, to match real port numbers.\nThis can lead to writing port config past \u0027pconfig\u0027 bounds and\noverwriting next member of \u0027qcom_swrm_ctrl\u0027 struct.  Reported also by\nsmatch:\n\n  drivers/soundwire/qcom.c:1269 qcom_swrm_get_port_config() error: buffer overflow \u0027ctrl-\u003epconfig\u0027 14 \u003c= 14"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code is a platform-bus SoundWire controller driver reached only through local device probe (device-tree contents / driver bind) and, on the read side, through local ALSA PCM ioctls on the SoundWire-backed sound card. No network or remote peer data is involved.\nAC:L - The overflow is fully deterministic \u2014 no race, no memory-layout luck: on a controller configured with 14 total ports the write to pconfig[14] happens on every probe, and allocating port 14 for a stream deterministically reads the out-of-bounds entry.\nPR:L - On an affected platform the out-of-bounds pconfig[14] access is triggerable at runtime by any local user able to open the SoundWire PCM device (audio group, or any Android app with audio access) through the normal stream-allocation path, with no capability required.\nUI:N - No victim action is needed \u2014 the probe-time write occurs automatically at boot, and the runtime path is driven entirely by the attacker\u0027s own PCM open/hw_params sequence.\nS:U - Both the flaw and its consequences are kernel memory corruption within the same kernel security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - The out-of-bounds access straddles ctrl-\u003esruntime[0], so the read path exposes bytes of a kernel heap pointer (defeating KASLR) and the corresponding write is memory corruption that can be leveraged for further disclosure.\nI:H - This is an out-of-bounds write that overwrites the low 32 bits of an adjacent kernel pointer field with device-tree-derived values, corrupting kernel state outside the intended object.\nA:H - Corrupting the sdw_stream_runtime pointer stored in ctrl-\u003esruntime[0] can lead to a wild dereference and kernel oops when the stream is subsequently used, taking down the system."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T09:14:13.583Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/20f7c4d51c94abb1a1a7c21900db4fb5afe5c8ff"
        },
        {
          "url": "https://git.kernel.org/stable/c/801daff0078087b5df9145c9f5e643c28129734b"
        },
        {
          "url": "https://git.kernel.org/stable/c/32eb67d7360d48c15883e0d21b29c0aab9da022e"
        },
        {
          "url": "https://git.kernel.org/stable/c/490937d479abe5f6584e69b96df066bc87be92e9"
        }
      ],
      "title": "soundwire: qcom: fix storing port config out-of-bounds",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53465",
    "datePublished": "2025-10-01T11:42:36.007Z",
    "dateReserved": "2025-10-01T11:39:39.400Z",
    "dateUpdated": "2026-08-05T09:14:13.583Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2023-53465",
      "date": "2026-08-08",
      "epss": "0.00169",
      "percentile": "0.06503"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53465\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-10-01T12:15:48.407\",\"lastModified\":\"2026-08-04T10:19:07.580\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nsoundwire: qcom: fix storing port config out-of-bounds\\n\\nThe \u0027qcom_swrm_ctrl-\u003epconfig\u0027 has size of QCOM_SDW_MAX_PORTS (14),\\nhowever we index it starting from 1, not 0, to match real port numbers.\\nThis can lead to writing port config past \u0027pconfig\u0027 bounds and\\noverwriting next member of \u0027qcom_swrm_ctrl\u0027 struct.  Reported also by\\nsmatch:\\n\\n  drivers/soundwire/qcom.c:1269 qcom_swrm_get_port_config() error: buffer overflow \u0027ctrl-\u003epconfig\u0027 14 \u003c= 14\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/soundwire/qcom.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"9916c02ccd74e672b62dd1a9017ac2f237ebf512\",\"lessThan\":\"20f7c4d51c94abb1a1a7c21900db4fb5afe5c8ff\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9916c02ccd74e672b62dd1a9017ac2f237ebf512\",\"lessThan\":\"801daff0078087b5df9145c9f5e643c28129734b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9916c02ccd74e672b62dd1a9017ac2f237ebf512\",\"lessThan\":\"32eb67d7360d48c15883e0d21b29c0aab9da022e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9916c02ccd74e672b62dd1a9017ac2f237ebf512\",\"lessThan\":\"490937d479abe5f6584e69b96df066bc87be92e9\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/soundwire/qcom.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.13\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.13\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.121\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.40\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.4.5\",\"lessThanOrEqual\":\"6.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.5\",\"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:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"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: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}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-125\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.13\",\"versionEndExcluding\":\"5.15.121\",\"matchCriteriaId\":\"2DD70DCA-71F9-4ADA-BA85-6F161D80109D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.40\",\"matchCriteriaId\":\"69315BCC-36D2-45CD-84F8-381EDF8E38F3\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.4.5\",\"matchCriteriaId\":\"923F6AEA-C2EF-4B08-B038-69A18F3D41F8\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/20f7c4d51c94abb1a1a7c21900db4fb5afe5c8ff\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/32eb67d7360d48c15883e0d21b29c0aab9da022e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/490937d479abe5f6584e69b96df066bc87be92e9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/801daff0078087b5df9145c9f5e643c28129734b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:17:53+00:00",
      "cve": "CVE-2023-53465",
      "id": "CVE-2023-53465",
      "initial_release_date": "2023-01-01T00:00:00+00:00",
      "product_status:fixed": "279",
      "product_status:known_affected": "22",
      "product_status:known_not_affected": "166",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: soundwire: qcom: fix storing port config out-of-bounds",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2023/cve-2023-53465.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-23T02:14:55Z",
      "cve": "CVE-2023-53465",
      "id": "CVE-2023-53465",
      "initial_release_date": "2025-10-01T23:30:45Z",
      "product_status:known_affected": "344",
      "product_status:known_not_affected": "159",
      "product_status:recommended": "581",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2023-53465",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2023-53465.json",
      "version": "47"
    }
  }
}



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…