Project

Profile

Help

Story #2625

Updated by ipanova@redhat.com about 7 years ago

During sync we fetch manifests from registry by tag. Yes we do some digest verification but it is not enough. What we do is that we compare docker-content-digest received in the response headers with calculated digest from fetched json. 

 To properly verify it, we need to know what digest to expect. It doesn't add any security to check against the Docker-Content-Digest returned by the registry, since if the manifest is replaced with a malicious one, the Docker-Content-Digest will also change to match that malicious manifest. 

 what we could do is: 

 <pre> 
     get the ID after an insecure pull by tag 
     pull the same by its ID tag with Content Trust 
     reread the ID of the image 
     if the IDs are the same, I know that the original image was secure. 
 </pre> 

 But as far as i understand we can afford this kind of approach with docker 1.10 and newer, because it has secure hashes. 

 I still do not have enough information how we could solve all this, but the current approach definitely does not protect us from malicious intents

Back