OpenPKG Corporation
OpenPKG CorporationSecuritySecurity Advisories

OpenPKG Security Advisory

OpenPKG-SA-2007.008

Publisher Name:          OpenPKG GmbH
Publisher Home:          http://openpkg.com/

Advisory Id (public):    OpenPKG-SA-2007.008
Advisory Type:           OpenPKG Security Advisory (SA)
Advisory Directory:      http://openpkg.com/go/OpenPKG-SA
Advisory Document:       http://openpkg.com/go/OpenPKG-SA-2007.008
Advisory Published:      2010-02-09 09:38 UTC

Issue Id (internal):     OpenPKG-SI-20070117.01
Issue First Created:     2007-01-17
Issue Last Modified:     2007-01-29
Issue Revision:          10


Subject Name: cvstrac Subject Summary: VCS web frontend Subject Home: http://www.cvstrac.org/ Subject Versions: * = 2.0.0 Vulnerability Id: CVE-2007-0347 Vulnerability Scope: global (not OpenPKG specific) Attack Feasibility: run-time Attack Vector: remote network Attack Impact: denial of service Description: Ralf S. Engelschall from OpenPKG GmbH discovered [0] a Denial of Service (DoS) vulnerability in the CVS/Subversion/Git Version Control System (VCS) frontend CVSTrac [1], version 2.0.0. The vulnerability is in the Wiki-style text output formatter and is triggered by special text constructs in commit messages, tickets and Wiki pages. Only users with check-in permissions and Wiki or ticket edit permissions can perform an attack. But as the anonymous user usually is granted Wiki edit and ticket creation permissions, an attacker remotely and anonymously can cause a partial DoS (depending on the pages requested) on a CVSTrac installation by opening a new ticket or editing a Wiki page with an arbitrary text containing for instance the string "/foo/bar'quux". The DoS vulnerability exists because the is_eow() function in "format.c" does NOT just check the FIRST character of the supplied string for an End-Of-Word terminating character, but instead iterates over string and this way can skip a single embedded quotation mark. The is_repository_file() function then in turn assumes that the filename string can never contain a single quotation mark and traps into an SQL escaping problem. An SQL injection via this technique is somewhat limited as is_eow() bails on whitespace. So while one _can_ do an SQL injection, one is limited to SQL queries containing only characters which get past the function isspace(3). This effectively limits attacks to SQL commands like "VACUUM". Administrators can quickly workaround by revoking permissions on the users. Restoring those permissions, obviously, would require keeping vulnerable permissions on at least one infrequently used account like "setup" or using the CLI sqlite3(1) to manually add them back later. References: [0] http://lists.grok.org.uk/pipermail/full-disclosure/2007-January/052058.html [1] http://www.cvstrac.org/
Primary Package Name: cvstrac Primary Package Home: http://openpkg.org/go/package/cvstrac Affected Distribution: Affected Branch: Affected Package: OpenPKG Enterprise E1.0-SOLID cvstrac-2.0.0-E1.0.1 OpenPKG Community 2-STABLE-20061018 cvstrac-2.0.0-2.20061018 OpenPKG Community 2-STABLE cvstrac-2.0.0-2.20061030 OpenPKG Community CURRENT cvstrac-2.0.0-20061030 Corrected Distribution: Corrected Branch: Corrected Package: OpenPKG Enterprise E1.0-SOLID cvstrac-2.0.0-E1.0.2 OpenPKG Community 2-STABLE-20061018 cvstrac-2.0.1-2.20070129 OpenPKG Community 2-STABLE cvstrac-2.0.1-2.20070129 OpenPKG Community CURRENT cvstrac-2.0.1-20070129

Latest Advisories:
2007.023 perl
2007.022 bind
2007.021 wordpress
2007.020 php
2007.019 php
2007.018 freetype
2007.017 ratbox
2007.016 gd
2007.015 quagga
2007.014 bind
more...

See Also:
OpenPKG Enterprise 1
ChangeLog!

Validation: XHTML | CSS