Hackers could have had an inside track on unpatched flaws in major software projects because of a critical vulnerability in Bugzilla, a system that many developers use to track and discuss bugs in their code.
Patches released Monday for Bugzilla address a privilege escalation vulnerability that could have allowed attackers to gain administrative access to software bug trackers based on the open-source application.
Bugzilla is developed with support from the Mozilla Foundation, which uses it to track issues for many of its own products. However, the platform is also used by the Apache Software Foundation, the Linux kernel developers, LibreOffice, OpenOffice, OpenSSH, Eclipse, KDE, GNOME, various Linux distributions and many other projects.
The vulnerability was discovered by security researchers from Check Point Software Technologies and was reported to the Bugzilla developers on Sept. 30. The Bugzilla Project shared a preliminary patch last week with major software projects that use the application, but the flaw has been in the software for a long time and it's unclear whether anyone discovered and exploited it independently in the past.
By using the admin credentials obtained through this vulnerability, "attackers can then view and edit private and undisclosed bug details," the Check Point researchers said in a blog post. "Software bug tracking data is typically closely guarded as it exposes software vulnerabilities and known issues. Furthermore, this access allows attackers to exploit design weaknesses, or even irreversibly destroy bug data, slowing down development."
The vulnerability affects all Bugzilla versions going back to 2.23.3, which was released in 2006. The Bugzilla Project released versions 4.0.15, 4.2.11, 4.4.6, and 4.5.6 to address this and other flaws that could also enable cross-site scripting, information leakage and social engineering attacks.
"Bugzilla administrators are urged to deploy the patch and upgrade their software immediately," the Check Point researchers said. "It is unknown whether any attacks have occurred as a result of this vulnerability but we recommend that Bugzilla installation administrators screen their current user lists for suspicious activity."
The flaw might also have implications for other applications because according to Bugzilla developer Gervase Markham, the issue stems from a "Perl-specific security problem" involving the context in which functions called during hash value assignment are evaluated.
"When assigning the result of a function call as a hash value, if the return value is a single scalar, all goes as you would expect, but if it's an array, the second and subsequent values end up being added as key/value pairs in the hash as well," Markham said in a post on his personal blog. "This allows an attacker to override values already in the hash (specified earlier), which may have already been validated, with values controlled by them."
CGI-based applications might be vulnerable is a similar way if developers didn't take this behavior into consideration, but according to one reader who commented on Markham's blog post, the issue has been known since 2006.
The Bugzilla developers have found fifteen instances where the problematic pattern occurred in its code and determined that four of them were exploitable to some degree, Markham said. "I'd say it might be wise to not ever allow hash values to be assigned directly from functions without a call to scalar."