CVE-2026-93318
Beschrijving NL
Een kwaadaardige afbeelding kan DiffID's van een andere afbeelding adverteren terwijl deze verschillende laaginhoud bevat. In de betreffende versies kon BuildKit de geadverteerde DiffID's gebruiken om cache- en momentopname-identiteit af te leiden zonder te valideren dat ze overeenkwamen met de werkelijke laaginhoud. Als een BuildKit-daemon met gedeelde of persistente cache eerst zo 'n kwaadaardig image verwerkt, kan een latere build met behulp van het slachtofferimage de door de aanvaller gecontroleerde laaginhoud als het basisimage aankoppelen. Dit kan ertoe leiden dat code van de kwaadwillige image wordt uitgevoerd in de build van het slachtoffer, bijvoorbeeld door een veelgebruikt pad zoals /bin/sh te vervangen. De door de aanvaller gecontroleerde code kan buildgeheimen lezen die in de build zijn opgenomen, toegang krijgen tot andere buildbronnen, uitvoerartefacten wijzigen of de build laten vastlopen. Het probleem treft zowel reguliere snapshotters als snapshotters die lazy-pulling gebruiken, zoals stargz.
Origineel (Engels) tonen
A malicious image can advertise DiffIDs from another image while containing different layer contents. In affected versions, BuildKit could use the advertised DiffIDs to derive cache and snapshot identity without validating that they matched the actual layer contents.
If a BuildKit daemon with shared or persistent cache first processes such a malicious image, a later build using the victim image may mount the attacker-controlled layer contents as the base image. This can allow code from the malicious image to run in the victim build, for example by replacing a commonly executed path such as /bin/sh. The attacker-controlled code may read build secrets mounted into the build, access other build resources, alter output artifacts, or hang the build.
The issue affects both regular snapshotters and lazy-pulling snapshotters such as stargz.