{"api_version":"1","generated_at":"2026-06-25T18:19:00+00:00","cve":"CVE-2026-53152","urls":{"html":"https://cve.report/CVE-2026-53152","api":"https://cve.report/api/cve/CVE-2026-53152.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-53152","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-53152"},"summary":{"title":"mmc: dw_mmc-rockchip: Add missing private data for very old controllers","description":"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's way less\ncluttery to just give the old types their private-data struct.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-25 09:16:32","updated_at":"2026-06-25 09:16:32"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/b1180ff50cca48807893ecde7d1f81d573c88c85","name":"https://git.kernel.org/stable/c/b1180ff50cca48807893ecde7d1f81d573c88c85","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/7f8007be13e6cc1e0a508fe461f9a91ba9a28b8c","name":"https://git.kernel.org/stable/c/7f8007be13e6cc1e0a508fe461f9a91ba9a28b8c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1e9a4850afa0ceb63984fb1a9f3e86d0fc4fd18f","name":"https://git.kernel.org/stable/c/1e9a4850afa0ceb63984fb1a9f3e86d0fc4fd18f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8d9eca906e76d3dd40e5f2c79701f066678f2e62","name":"https://git.kernel.org/stable/c/8d9eca906e76d3dd40e5f2c79701f066678f2e62","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-53152","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53152","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7457b35afafef5195a498d13b3e05f4258beeecc b1180ff50cca48807893ecde7d1f81d573c88c85 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5b58ba042e2379f4c01da3211fd17dbdc983c2ac 7f8007be13e6cc1e0a508fe461f9a91ba9a28b8c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ff6f0286c896f062853552097220dd93961be9c4 8d9eca906e76d3dd40e5f2c79701f066678f2e62 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected ff6f0286c896f062853552097220dd93961be9c4 1e9a4850afa0ceb63984fb1a9f3e86d0fc4fd18f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.12.78 6.12.94 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18.19 6.18.36 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.19","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.94 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.36 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.13 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"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's 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"},"nvd":{"publishedDate":"2026-06-25 09:16:32","lastModifiedDate":"2026-06-25 09:16:32","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"53152","Ordinal":"1","Title":"mmc: dw_mmc-rockchip: Add missing private data for very old cont","CVE":"CVE-2026-53152","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"53152","Ordinal":"1","NoteData":"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's way less\ncluttery to just give the old types their private-data struct.","Type":"Description","Title":"mmc: dw_mmc-rockchip: Add missing private data for very old cont"}]}}}