Samba and OpenLDAP Jitterbug instances suffered from a cross site scripting vulnerability.
4b67442c2d4607cdb7bef4db6decebca7bad32c636e64c6031a791331f5c7bfe
######################################################################
# Exploit Title: Samba.org and OpenLDAP.org Reflected XSS
# Date: 02/04/2015
# Author: Yann CAM @ Synetis - ASafety
# Vendor or Software Link: www.samba.org & www.openldap.org
# Version: /
# Category: Reflected Cross Site Scripting
# Google dork:
# Tested on: Samba.org and OpenLDAP.org main domains
######################################################################
Samba description :
======================================================================
Samba is a free software re-implementation of the SMB/CIFS networking protocol, and was originally developed by Andrew Tridgell. Samba provides file and
print services for various Windows clients and can integrate with a Windows Server domain, either as a Domain Controller (DC) or as a domain member.
As of version 4, it supports Active Directory and Windows NT domains.
www.samba.org is the main domain of the project.
OpenLDAP description :
======================================================================
OpenLDAP is a free, open source implementation of the Lightweight Directory Access Protocol (LDAP) developed by the OpenLDAP Project. It is released under
its own BSD-style license called the OpenLDAP Public License.
www.openldap.org is the main domain of the project.
JitterBug project description :
======================================================================
JitterBug is a web based bug tracking system. It was originally developed by the Andrew Tridgell to handle bug tracking, problem reports and queries from Samba users. It is now available under the GNU General Public License in the hope that it will be useful for other projects.
JitterBug operates by receiving bug reports via email or a web form. Authenticated users can then reply to the message, move it between different categories or add notes to it. In some ways JitterBug is like a communal web based email system. This web page is itself a JitterBug page. You can get an idea of what JitterBug can do by playing with the various links and buttons.
JitterBug was used by many others open-source projects like Gnome, rsync, The Gimp, linux-patches, ProFTPD, Willows, Java Linux, WindowMaker, mod_ssl, GnuCash or OpenLdap.
Only OpenLDAP and Samba use it currently, so they are both impacted by the vulnerability describes here.
RXSS Vulnerability description - PoC :
======================================================================
A reflected XSS is available in the JitterBug bug tracking project provided on the samba.org and openldap.org websites.
Through this vulnerability, an attacker could tamper with page rendering, redirect victims to fake Samba/OpenLDAP portals, or capture Samba's (OpenLDAP) users credentials such cookies.
It's also possible to forge a fake page with this XSS to provide a backdoored version of softwares to users.
This reflected XSS is on GET "id" variable and is not properly sanitized before being used to his page.
Tested on Firefox 35.0.
PoC:
http://www.samba.org/cgi-bin/jitterbug/CVS?id=1337</TITLE><img src=x onerror="alert(/Reflected XSS - Yann CAM @ASAfety/)" /><TITLE>;selectid=1337
http://www.openldap.org/its/index.cgi/Documentation?id=1337</TITLE><img src=x onerror="alert(/Reflected XSS - Yann CAM @ASAfety/)" /><TITLE>;selectid=1337
JitterBug future :
======================================================================
As indicated by Samba :
The JitterBug project is no longer being actively maintained.
Jitterbug has known unfixed security vulnerabilities. Unless you know exactly what you are doing, you should not use it any more.
If you wish to take over as the maintainer then please contact Andrew Tridgell at jitterbug@tridgell.net
A possible patch is to sanitize each call of the jitterbug.c file :
void print_title(char *fmt, ...)
Which injects GET vars directly in HTML source generated :
print_title('%s - %s/%s', lp_title(), directory, cgi_variable('id'));
In the cgi.c file, there is a potential function to escape all dangerous chars :
char *urlquote(char *s)
Screenshots :
======================================================================
- http://www.asafety.fr/data/20141126-RXSS_openldap.org_synetis_001.png
- http://www.asafety.fr/data/20141126-RXSS_openldap.org_synetis_002.png
- http://www.asafety.fr/data/20141126-RXSS_samba.org_synetis_001.png
- http://www.asafety.fr/data/20141126-RXSS_samba.org_synetis_002.png
Solution:
======================================================================
Fixed by OpenLDAP team (no details)
JitterBug is no longer maintained on Samba website.
Thanks to both team, Samba and OpenLDAP, for their kindness and responsiveness.
Additional resources :
======================================================================
- https://www.samba.org/jitterbug/
- http://www.openldap.org/its/index.cgi/Web?id=7988
- https://bugzilla.samba.org/show_bug.cgi?id=10967
- http://www.asafety.fr/vuln-exploit-poc/contribution-reflected-xss-vulnerabilites-dans-samba-org-et-openldap-org
- http://www.synetis.com
Report timeline :
======================================================================
2014-11-26 : Samba ticket created to alert team with details and PoC.
2014-11-26 : OpenLDAP ticket created to alert team with details and PoC.
2014-11-26 : OpenLDAP fix the vulnerability.
2014-11-27 : Samba response with additional questions.
2015-03-30 : New comment to get a status
2015-03-30 : JitterBug on Samba.org website is disabled and the project is no more longer maintained.
2015-04-02 : Public advisory
Credits :
======================================================================
88888888
88 888 88 88
888 88 88
788 Z88 88 88.888888 8888888 888888 88 8888888.
888888. 88 88 888 Z88 88 88 88 88 88 88
8888888 88 88 88 88 88 88 88 88 888
888 88 88 88 88 88888888888 88 88 888888
88 88 88 8. 88 88 88 88 88 888
888 ,88 8I88 88 88 88 88 88 88 .88 .88
?8888888888. 888 88 88 88888888 8888 88 =88888888
888. 88
88 www.synetis.com
8888 Consulting firm in management and information security
Yann CAM - Security Consultant @ Synetis | ASafety
--
SYNETIS | ASafety
CONTACT: www.synetis.com | www.asafety.fr