GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

FKIE_CVE-2026-93067

Vulnerability from fkie_nvd - Published: 2026-09-17 17:18 - Updated: 2026-09-17 17:18
Severity
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/bridge: tc358767: clamp the reported AUX read size to the request tc_aux_transfer() clamps an AUX read to the payload limit: size_t size = min_t(size_t, DP_AUX_MAX_PAYLOAD_BYTES - 1, msg->size); After the transfer it replaces size with the byte count the controller reports in AUX_BYTES: if (size) size = FIELD_GET(AUX_BYTES, auxstatus); AUX_BYTES is GENMASK(15, 8), so it can be up to 255. Nothing clamps it back to the request. tc_aux_read_data() reads that many bytes into the 16-byte auxrdata stack buffer, then copies them into the caller buffer. A reported count of 255 makes the read run to 256 bytes and overruns both. The controller should never report more than it was asked to transfer, so this is defense in depth rather than a live hole. The reported count is only lightly trusted, and the check is cheap. Clamp it back to the request, the same way ti-sn65dsi86 does in commit aca58eac52b8 ("drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer").
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/bridge/tc358767.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ebf00c51c9ac9188e2806a2b842418805ee879be",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            },
            {
              "lessThan": "424b762cc26d512e3e7421e57e41b4b55be2400b",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            },
            {
              "lessThan": "dd6274706bec30d005bff0587a4262d01dc2775a",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            },
            {
              "lessThan": "982caa744fce79d18f2920382aaeb0da821a6e73",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            },
            {
              "lessThan": "33c0b072e31dee98a754d9bd01800359dfeb9e8f",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            },
            {
              "lessThan": "57c567e0e8aa76f6e3e8f39d7f40c20bc37e76af",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            },
            {
              "lessThan": "9ff718df547372d70ca20ad8e66a3fb1300936b2",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            },
            {
              "lessThan": "ec6444a00c49e6c2b5e9a507272a28126677f9ee",
              "status": "affected",
              "version": "12dfe7c4d9c53442efcb4113cff505f60d654906",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/bridge/tc358767.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.4"
            },
            {
              "lessThan": "5.4",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.270",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "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\ndrm/bridge: tc358767: clamp the reported AUX read size to the request\n\ntc_aux_transfer() clamps an AUX read to the payload limit:\n\n\tsize_t size = min_t(size_t, DP_AUX_MAX_PAYLOAD_BYTES - 1, msg-\u003esize);\n\nAfter the transfer it replaces size with the byte count the controller\nreports in AUX_BYTES:\n\n\tif (size)\n\t\tsize = FIELD_GET(AUX_BYTES, auxstatus);\n\nAUX_BYTES is GENMASK(15, 8), so it can be up to 255. Nothing clamps it\nback to the request. tc_aux_read_data() reads that many bytes into the\n16-byte auxrdata stack buffer, then copies them into the caller buffer. A\nreported count of 255 makes the read run to 256 bytes and overruns both.\n\nThe controller should never report more than it was asked to transfer, so\nthis is defense in depth rather than a live hole. The reported count is\nonly lightly trusted, and the check is cheap. Clamp it back to the request,\nthe same way ti-sn65dsi86 does in commit aca58eac52b8 (\"drm/bridge:\nti-sn65dsi86: Never store more than msg-\u003esize bytes in AUX xfer\")."
    }
  ],
  "id": "CVE-2026-93067",
  "lastModified": "2026-09-17T17:18:00.500",
  "metrics": {},
  "published": "2026-09-17T17:18:00.500",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/33c0b072e31dee98a754d9bd01800359dfeb9e8f"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/424b762cc26d512e3e7421e57e41b4b55be2400b"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/57c567e0e8aa76f6e3e8f39d7f40c20bc37e76af"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/982caa744fce79d18f2920382aaeb0da821a6e73"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/9ff718df547372d70ca20ad8e66a3fb1300936b2"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/dd6274706bec30d005bff0587a4262d01dc2775a"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/ebf00c51c9ac9188e2806a2b842418805ee879be"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/ec6444a00c49e6c2b5e9a507272a28126677f9ee"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Received"
}



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…

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…