GNOME Bugzilla – Bug 391970
CVE-2006-5876 Remote DoS in rhythmbox (and anything using libsoup for a server)
Last modified: 2007-01-16 21:01:10 UTC
[ forwarded from http://bugs.debian.org/405197 ] There is a segfault in rhythmbox which can be triggered by running nessus 2.2.8 against a box running rhythmbox with daap plugin. I've built a debug version of libsoup from debian sources, here is the trace:
+ Trace 98776
The problem seems to be caused by a binary 0 in the request, i've extracted the following string: "GET /\0x00.jsp HTTP/1.1\r\n" ^^^^^ binary 0
Created attachment 79200 [details] [review] Fix for libsoup 2.2.98 The soup_headers_parse function is missing a check after calling strstr. Here is a trivial fix.
Josselin, did the Debian security team provide a CVE id?
Nope, I haven't received any input from them yet.
Created attachment 79491 [details] [review] alternate patch, with regression tests Here's the patch I'll probably commit (with a new regression test to prove that it works, and in fact works better than the old code in several other cases too). If you could test that nessus can't come up with any other exploits against it that would be cool... This will probably go out on Monday, for GNOME 2.17.5
committed. thanks for the bug report
Martin Schulze from the Debian Security Team assigned CVE-2006-5876.
Created attachment 80423 [details] [review] zero error counts before adding to them
The preceeding patch fixes the regression test, which didn't set its error counts to 0 before using them.
sigh. you'd think regression tests would be nice enough to fail when you write them wrong. fixed in svn