CVE-2026-53152 (GCVE-0-2026-53152)
Vulnerability from cvelistv5
Published
2026-06-25 08:38
Modified
2026-06-25 08:38
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: mmc: dw_mmc-rockchip: Add missing private data for very old controllers The really old controllers (rk2928, rk3066, rk3188) do not support UHS speeds at all, and thus never handled phase data. For that reason it never had a parse_dt callback and no driver private data at all. Commit ff6f0286c896 ("mmc: dw_mmc-rockchip: Add memory clock auto-gating support") makes the private data sort of mandatory, because the init function checks whether phases are configured internally or through the clock controller. This results in the old SoCs then experiencing NULL-pointer dereferences when they try to access that private-data struct. While we could have if (priv) conditionals in all places, it's way less cluttery to just give the old types their private-data struct.
Impacted products
Vendor Product Version
Linux Linux Version: 7457b35afafef5195a498d13b3e05f4258beeecc
Version: 5b58ba042e2379f4c01da3211fd17dbdc983c2ac
Version: ff6f0286c896f062853552097220dd93961be9c4
Version: ff6f0286c896f062853552097220dd93961be9c4
Version: 6.12.78   
Version: 6.18.19   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/mmc/host/dw_mmc-rockchip.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b1180ff50cca48807893ecde7d1f81d573c88c85",
              "status": "affected",
              "version": "7457b35afafef5195a498d13b3e05f4258beeecc",
              "versionType": "git"
            },
            {
              "lessThan": "7f8007be13e6cc1e0a508fe461f9a91ba9a28b8c",
              "status": "affected",
              "version": "5b58ba042e2379f4c01da3211fd17dbdc983c2ac",
              "versionType": "git"
            },
            {
              "lessThan": "8d9eca906e76d3dd40e5f2c79701f066678f2e62",
              "status": "affected",
              "version": "ff6f0286c896f062853552097220dd93961be9c4",
              "versionType": "git"
            },
            {
              "lessThan": "1e9a4850afa0ceb63984fb1a9f3e86d0fc4fd18f",
              "status": "affected",
              "version": "ff6f0286c896f062853552097220dd93961be9c4",
              "versionType": "git"
            },
            {
              "lessThan": "6.12.94",
              "status": "affected",
              "version": "6.12.78",
              "versionType": "semver"
            },
            {
              "lessThan": "6.18.36",
              "status": "affected",
              "version": "6.18.19",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/mmc/host/dw_mmc-rockchip.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.19"
            },
            {
              "lessThan": "6.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.94",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.36",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.94",
                  "versionStartIncluding": "6.12.78",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.36",
                  "versionStartIncluding": "6.18.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.13",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmmc: dw_mmc-rockchip: Add missing private data for very old controllers\n\nThe really old controllers (rk2928, rk3066, rk3188) do not support UHS\nspeeds at all, and thus never handled phase data.\n\nFor that reason it never had a parse_dt callback and no driver private\ndata at all.\n\nCommit ff6f0286c896 (\"mmc: dw_mmc-rockchip: Add memory clock auto-gating\nsupport\") makes the private data sort of mandatory, because the init\nfunction checks whether phases are configured internally or through the\nclock controller.\n\nThis results in the old SoCs then experiencing NULL-pointer dereferences\nwhen they try to access that private-data struct.\n\nWhile we could have if (priv) conditionals in all places, it\u0027s way less\ncluttery to just give the old types their private-data struct."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-25T08:38:36.850Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b1180ff50cca48807893ecde7d1f81d573c88c85"
        },
        {
          "url": "https://git.kernel.org/stable/c/7f8007be13e6cc1e0a508fe461f9a91ba9a28b8c"
        },
        {
          "url": "https://git.kernel.org/stable/c/8d9eca906e76d3dd40e5f2c79701f066678f2e62"
        },
        {
          "url": "https://git.kernel.org/stable/c/1e9a4850afa0ceb63984fb1a9f3e86d0fc4fd18f"
        }
      ],
      "title": "mmc: dw_mmc-rockchip: Add missing private data for very old controllers",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-53152",
    "datePublished": "2026-06-25T08:38:36.850Z",
    "dateReserved": "2026-06-09T07:44:35.388Z",
    "dateUpdated": "2026-06-25T08:38:36.850Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…