CGit Update Adds Exciting Features, Security Fix

Written by Michael Larabel in Linux Security on 27 May 2013 at 11:05 PM EDT. Add A Comment
LINUX SECURITY
CGit, the widely-used replacement to GitWeb, has out a new release today. Besides incorporating some useful new functionality, it also takes care of a security fix where out-of-date CGit installations could allow arbitrary access to files from the system.

Jason Donenfeld, the current maintainer of CGit, wrote into Phoronix to share the details of the new CGit 0.9.2 release. Donenfeld's email is quite descriptive and useful as-is, so it's embedded below. Hit up the CGit web-site for more details or to download this useful web-interface to Git repositories.
Hi Michael,

I thought I'd write in to tell you that I released CGit 0.9.2 today, and some exciting things have been happening.

First, if you didn't hear, kernel.org during its major overhaul switched to cgit, and we've been in contact with their sysadmins incorporating things they ask. This release ships with some things they requested we add, which is pretty neat. Cgit was started for the purpose of replacing gitweb on kernel.org, and it's finally achieved that goal. We're thrilled.

Under the hood there have also been some changes. We're cozying up quite a bit more with internal git data structures, making use of the git build system, and the git test suite. Git upstream made a change for us to make it easier to integrate with the newest git release as
well. I've been kind of flirting with the possibility of even merging into git upstream, someday in the distant future. For now, it's nice to use a bit more of their APIs and great data structures.

Feature-wise there's a lot in this release that you can read in the ChangeLog, but probably most visible is that it's now possible to define search lists for READMEs and use more dynamic README filters. This essentially means that if you configure things a particular way,
dropping a README.md or README.rst or README.txt into your git repository will cause the /repo/about page to have markdown/restructuredtext/plain-converted output, in much the same way that Github does it. That's not the only use for this feature -- it's implemented in a rather generic format-agnostic way -- but we imagine it will be quite popular, since folks are in a habit now of including README.md and friends in their git repositories.

Finally, as you might recall, I inherited this code-base when the previous maintainer didn't have time to work on it or reply to emails. I'm actually employed as a security researcher, not as a web developer, and so since taking over maintenance, I've been gradually auditing it. Over the weekend I found a pretty nasty directory traversal bug, CVE-2013-2117, which, while the default install of cgit isn't vulnerable, would allow an attacker to access arbitrary files on certain cgit systems. I poked around google a bit, and with a simple googledork, I found that most repositories were not vulnerable, but that there were a couple that were vulnerable. Hopefully you can give at least the security issue a bit of press (while not tarnishing the cgit reputation!) so that admins think to upgrade.

That's it for 0.9.2. Our mailing list changed hosts if you're subscribed, but our home page remains the same.

Take care,
Jason Donenfeld
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week