mirror of
https://github.com/moby/buildkit.git
synced 2026-11-06 13:26:48 +00:00
Stop using RootFS DiffIDs from the image config as an alternate image source cache key. Those DiffIDs are verified only when the layer is applied, so a failed malicious image pull must not poison cache lookup for another image source. This intentionally removes source-cache compatibility that depended on the RootFS or ChainID fallback. Images that resolve to the same manifest-scoped key remain compatible, but classic Moby local or manifest-less images and images with different manifests can no longer match external BuildKit cache solely because their root filesystems advertise the same DiffIDs. Moby can verify a local ChainID through its classic layer store, but an external BuildKit cannot verify remote-config DiffIDs before source cache lookup. Using one key for both trust levels would reopen cache poisoning, and the classic store may not retain a common manifest identity. Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> (cherry picked from commit 101c4813fd4590506c571f466c55368275096432) (cherry picked from commit a2dbb47c1534fa23b698c74329e1c22d731d75c2)