3 ms·
The commit object is signed; which contains a signature to both the tree and the parent. I don't see it as feasible to do a collision on both at once with the m
by scrollaway 10y ago
The commit object is signed; which contains a signature to both the tree and the parent. I don't see it as feasible to do a collision on both at once with the method outlined here, but maybe I'm missing something.
Tagging on the other hand is at risk, as it's just the hash that's signed.
Edit: You can check what is actually signed with `git cat-file -p $obj` where $obj is a commit or tag id.
- deleted 10y ago[deleted]
- mikegerwitz 10y agoYou could also find a preimage for any tree or blob object referenced by that commit. And in large projects, you have a lot to choose from. (As has been stated, I know this isn't a second preimage attack.) Edit: See my answers in this thread: https://lists.gnu.org/archive/html/bug-guix/2016-06/msg00009.html https://lists.gnu.org/archive/html/bug-guix/2016-06/msg00009...
- nabla9 10y agoIt seems that commit object contains metadata and sha1 hash of the commit tree. In other words, signing comment object is not detecting if data is altered somewhere in the tree and creates identical sha1 hash.