| « Hardware | Better shell » |
Thu, Sep 01, 2011
![[Icon]](rsc/img/chain_link.gif)
There's been a few hysterical "Oh noes, teh Linux kernel is insecure now!!!1!!" repsonses to the admission on kernel.org that somebody gained root access to one of their servers.
And they're wrong. Here's a quick explanation as to why:
When you commit to git, every file you've changed gets saved as a new object in the git filesystem. Not the CHANGE you made - not the diff. The actual files, in toto. The whole lot gets saved.
Obviously, lots of compression and cleverness happens, but ignoring all that: A copy of the new file version is saved.
Then when the commit is created, something called a SHA is generated. This is a 40-character long string of letters and numbers. And it's not random, it's cryptographically generated based on the commit objects (i.e. the files you've just changed) and the parent commit's own SHA.
In other words, a commit's SHA is unique and only matches the exact contents of that commit. If you change any of the commit objects in an attempt to inject nasty code into the kernel, then the object checksum will no longer match the SHA. And if you try to replace a commit, then it will no longer match the other maintainer's checkouts, so they won't grab the code either.
Git was specifically designed with this functionality in mind: If you have one single "known-good" commit SHA, you can trust not just it, but every single previous commit in its history.
So the kernel's history is still completely clean: If a new commit was added, it's trivial for the maintainers to find and remove it. If a previous commit was amended, git will simply refuse to use it.
The kernel is fine. This was a minor embrassment for kernel.org, and nothing else.
Nothing to see here. Move on.
![[Links]](http://geekblog.oneandoneis2.org/skins/112/rsc/img/chain_link.gif)
I'm in the Perl newsletter again. I should try and write about some other language...
21/05/12
Facebook Syndication Error
22/05/12
![]()
I last listened to:
Johann Pachelbel - Canon in D major
Most recent photo:
js.js