‹ BackHN Continuity

Thread

Git 3.0's upcoming SHA-256 default will be a costly mistake

570 points · 536 comments · chmaynard

  1. ltbarcly3 · · focus · HN ↗
    This seems like Y2K fud.

    The alternative to making sha256 the default is to leave sha1 the default. Nobody changes to sha256. sha1 is broken in 10 years. Suddenly everyone has to switch all at once on the same day because it is a critical security issue, but github never implemented sha256 because they didn't have to. This would be a major problem.

    This is very very easy to fix if you run into it.

    1. Adopt git 3.0 if you can with sha256.

    2. If you can't use sha256, set the config to put things back to sha1. Wherever you need to do this you probably already set dozens of ENV vars or settings, just add a new one.

    Or write a 15 page analysis about how the above is so hard people will probably just find it catastrophic to even think about.

    1. iamnothere · · focus · HN ↗
      It’s already broken, but even though it’s broken it’s hard to generate git collisions because of the repo metadata. It’s easy to generate (for instance) standalone PDFs with identical hashes, but doing this with git in a useful way is much harder.

      That said, it’s still a good idea to migrate to a more robust hashing algorithm. Defense in depth, etc. Just because it’s a difficult migration doesn’t mean it shouldn’t be done.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.