2.18.5, 2.20.2, 2.22, and 2.23.2 Security AdvisoryOctober 15, 2006
Summary ======= Bugzilla is a Web-based bug-tracking system, used by a large number of software projects. This advisory covers six security issues that have recently been fixed in the Bugzilla code: + Sometimes the information put into the <h1> and <h2> tags in Bugzilla was not properly escaped, leading to a possible XSS vulnerability. + Bugzilla administrators were allowed to put raw, unfiltered HTML into many fields in Bugzilla, leading to a possible XSS vulnerability. Now, the HTML allowed in those fields is limited. + attachment.cgi could leak the names of private attachments + The "deadline" field was visible in the XML format of a bug, even to users who were not a member of the "timetrackinggroup." + A malicious user could pass a URL to an admin, and make the admin delete or change something that he had not intended to delete or change. + It is possible to inject arbitrary HTML into the showdependencygraph.cgi page, allowing for a cross-site scripting attack. We strongly advise that 2.18.x users upgrade to 2.18.6. 2.20.x users should upgrade to 2.20.3. 2.22 users, and users of 2.16.x or below, should upgrade to 2.22.1. Development snapshots of 2.23 before 2.23.3 are also vulnerable to all of these issues. If you are using a development snapshot, you should upgrade to 2.23.3, use CVS to update, or apply the patches from the specific bugs listed below. Vulnerability Details ===================== Issue 1 ------- Class: Cross-Site Scripting Versions: 2.15 and above Description: Bugzilla sometimes displays admin-provided data in page headers (meaning the <h1> and <h2> HTML tags of a page). Sometimes, this data was not properly escaped, leading to the possibility of a Cross-Site Scripting vulnerability. For the most part, this was only exploitable by administrators, and so is not of critical severity. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=330555 Issue 2 ------- Class: Cross-Site Scripting Versions: 2.0 and above Description: Bugzilla allows administrators to put HTML in the descriptions of products, components, and other items. It also allows HTML in certain other fields. Before the most recent releases of Bugzilla, this HTML was completely unfiltered. These fields are only editable by certain users, who are specified by the admin. This makes this vulnerability less severe. However, these users could use this exploit to perform Cross-Site Scripting attacks on nearly all users of a particular Bugzilla (including users with higher permission levels than themselves). Bugzilla now allows only certain HTML tags in those fields, protecting users from a Cross-Site Scripting attack. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=206037 Issue 3 ------- Class: Information Leak Versions: 2.17 and above Description: When viewing an attachment in "Diff" mode, a user who is not in the "insidergroup" (the group required to view private attachments) can read the one-line descriptions of all attachments, even "private" attachments. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=346086 Issue 4 ------- Class: Information Leak Versions: 2.19.2 and above Description: Bugzilla has a "deadline" field, which is usually only visible to people in the "timetrackinggroup" group. However, it was exposed in the XML format of a bug to all users. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=346564 Issue 5 ------- Class: Security Enhancement Versions: 2.0 and above Description: Bugzilla updates, deletes, and creates data through a web interface. Administrators update things like user accounts through this interface. All of these pages accept URL variables in both GET and POST formats. A malicious user could craft a URL that would edit a user (or any other admin-protected item), and then using a service like TinyURL, could obscure the URL so that an administrator couldn't tell what it was. Then, getting the administrator to click on that URL, the action would be performed, against the administrator's will. This is now prevented. Bugzilla will only accept changes on administrative pages if they come from Bugzilla's own forms. That is, you have to use the form to make changes-- you now cannot just click a URL and accidentally make an administrative change to Bugzilla. Although technically this affects all versions of Bugzilla, it has only been fixed on our most recent release (2.22.1 and our latest development snapshot, 2.23.3), because the fix was too invasive to backport further. Administrators of previous versions of Bugzilla should only click on URLs from users that they fully trust. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=281181 Issue 6 ------- Class: Cross-Site Scripting Versions: 2.15 and above Description: showdependencygraph.cgi is a script that allows you to display a graph of how bugs are related. There is a cross-site scripting vulnerability in this script that allows for arbitrary HTML injection. The user would have to follow a malicious URL in order to trigger the attack--it is not possible for another user to otherwise inject HTML into the page for the current user. Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=355728 Vulnerability Solutions ======================= The fixes for all of the security bugs mentioned in this advisory are included in the 2.18.6, 2.20.3, 2.22.1, and 2.23.3 releases. Upgrading to these releases will protect installations from possible exploits of these issues. Full release downloads, patches to upgrade Bugzilla from previous versions, and CVS upgrade instructions are available at: http://www.bugzilla.org/download.html Specific patches for each of the individual issues can be found on the corresponding bug reports for each issue, at the URL given in the reference for that issue in the list above. Credits ======= The Bugzilla team wish to thank the following people for their assistance in locating, advising us of, and assisting us to fix these situations: Frédéric Buclin* Dave Miller Gervase Markham Gavin Shelley Max Kanat-Alexander Myk Melez Josh "timeless" Soref Olav Vitters Adam Merrifield * The Bugzilla Project would like to express special thanks to Frédéric. He worked many, many volunteer hours to fix many of the issues above, and is largely responsible for most of these issues being fixed. They would not have been fixed without him. General information about the Bugzilla bug-tracking system can be found at: http://www.bugzilla.org/ Comments and follow-ups can be directed to the mozilla.support.bugzilla newsgroup or the support-bugzilla mailing list. http://www.bugzilla.org/support/ has directions for accessing these forums.