Telekom Cloud & Web SSO vulnerable to Bypass & Persistent XSS Attacks

Editorial_Staff_Team's picture

Telekom Cloud - MyworkPlace Business Frontend & Backend Vulnerabilities

Researchers of the vulnerability laboratory core team discovered multiple persistent cross site scripting web vulnerabilities to the telekom cert team in mid december 2016. The security vulnerabilities was located in the new telekom cloud business service and myworkplace for paying customers.The "Deutsche Telekom" offers the "Open Telekom Cloud" a secure Infrastructure as-a-service offering based on "OpenStack". The hosting is located in highly secure data centers of the telekom in germany.

Technical Details
The persistent vulnerabilities are located in the `firstName` and `lastName` input fields of the registration formular. Remote attackers are able to inject a payload as `firstname` and `lastname` via POST method request on `registration` to manipulate the connected frontend and backend service of the cloud web sso service. The execution of the name values takes place in the `profile` section, `backend` on preview and in the service `emails` outgoing through the telekom web-server system. The injection points are the name input fields during the registration for any package and the execution takes place in the outgoing service emails, the profile and the backend on preview. The attack vector of the vulnerability is persistent and the request method to inject is POST. The issue poses a significant risk to managers and users because of the persistent inject method used by the remote attacker.
 
The basic filter disallows to input special chars. So the request needs to be manipulated within the performed request and not ahead on local input. Thus finally allows an attacker to bypass the validation to inject a payload for execution in another layer. We used ***@evolution-sec.com to confirm the vulnerability in the telekom cloud sso web service.

The security risk of the persistent input validation vulnerability is estimated as medium with a cvss (common vulnerability scoring system) count of 4.3. Exploitation of the persistent input validation web vulnerability requires low user interaction and a low privilege web-application customer user account. Successful exploitation of the vulnerability results in session hijacking, persistent phishing attacks, persistent external redirects to malicious source and persistent manipulation of affected or connected application modules.

Request Method(s):
[+] POST

Vulnerable Service(s):
[+] Telekom Cloud (websso.t-systems.de)

Vulnerable Module(s):
[+] Cloud & Service Registration

Vulnerable Input(s):
[+] Vorname
[+] Nachname

Vulnerable Parameter(s):
[+] firstName
[+] lastName

Affected Module(s):
[+] Frontend (Profile)
[+] Backend (Preview Information)
[+] Serice Emais (Outgoing on Interaction)

Proof of Concept (PoC):
The vulnerability can be exploited by remote attackers with low privilege web-application user account and with low user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.

Manual steps to reproduce the vulnerability ...
1. Open the telekom cloud webpage
2. Move to the registration
3. Include your values and an email that you administrate
4. Start a live session tamper for the http protocol
5. Submit the registration and change in the live http request via tamper the name parameters to test payloads
6. Continue the request to receive the server answer 200OK
7. Check the email were the first execution point occurs and then request for example a new password to see the effects
8. In the next step watch the user profile that displays the database credentials
9. Now, moe over as administrator in the backend and approve the information encode for the accounts to watch the execution point
10. Successful reproduce of the persistent remote vulnerability in the telekom cloud sso web service!

--- PoC Session Logs [POST] (Inject) ---
Status: 302[Found]
POST https://apps.telekomcloud.com/accountSetup/46bc12d7-5226-41d4-83e5-976d6...

Mime Type[text/plain]
   Request Header:
      Host[apps.telekomcloud.com]
      User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
    
  Referer[https://apps.telekomcloud.com/accountSetup/46bc12d7-5226-41d4-83e5-976d6...
Cookie[rfat=0;JSESSIONID=10E4F0369D506A3952B1440093C7AE95-n1;     keychain=92c06fef18bdf4b5d3eb9d2ab345b2768a365d761e04ce1cefc38fbe593ec93f7ba3a91b04d3a3c31dac0fcfb35a94c6c921b6ffbcf8469eb583bf4df1dd55f0]
   POST-Daten:
      id18_hf_0[]
      titleTypeRadioGroup[radio21]

      firstName[MALICIOUS INJECTED PAYLOAD!]
      lastName[MALICIOUS INJECTED PAYLOAD!]

      passwordBorder%3ApasswordBorder_body%3Apassword[chaos666]
      confirmBorder%3AconfirmBorder_body%3AconfirmPassword[chaos666]
      companySetupForm%3AcompanyNameBorder%3AcompanyNameBorder_body%3AcompanyName[KPI+SMU]
      companySetupForm%3ArequiredPhoneNumber%3ArequiredPhoneNumber_body%3AphoneNumber[31337]
      companySetupForm%3AsizeRadioGroup[SMALL]
      companySetupForm%3AinputIndustry[1]
      marketingPanelContainer%3AmarketingCheckbox[on]
      privacyPanel%3AprivacyCheckboxBorder%3AprivacyCheckboxBorder_body%3AprivacyCheckbox[on]
      noStepActivateButton[]
   Response Header:
      Date[Sun, 04 Dec 2016 14:13:05 GMT]
      X-UA-Compatible[IE=Edge]
      Expires[Thu, 01 Jan 1970 00:00:00 GMT]
      X-Frame-Options[SAMEORIGIN]
      Strict-Transport-Security[max-age=0 ; includeSubDomains]
      Set-Cookie[JSESSIONID=8DF92319BF793069FE9A216084CFDE64-n1; Path=/; Secure; HttpOnly

    userCompanyInfo=%7B%22userCompanyHash%22%3A%227bb1053b07687b619bcef44222ed892a%22%2C%22lastModified%22%3A1480860785925%7D;
    Domain=.telekomcloud.com; Path=/; Secure; HttpOnly]
      Location[https://apps.telekomcloud.com/home?src=activateAccount]
      Content-Length[0]
      A
ccess-Control-Allow-Origin[https://cloud.telekom.de]
      access-control-allow-credentials[true]
      access-control-allow-methods[POST, OPTIONS]
      access-control-allow-headers[Accept-Encoding, Origin, X-Requested-With, Content-Type, Accept]
      Connection[Keep-Alive]
      Content-Type[text/plain]

Vulnerable Source: Emails - Reset, Register & Co.
<img class="imgClass" style="margin: 0px; padding: 0px; border: medium none currentcolor;
display: block;" alt="Herzlich Willkommen in der TelekomCLOUD"
src="mailbox-message://
%40evolution-sec%2Ecom@pop3.evolution-sec.com/Inbox#704264296?header=saveas&amp;part=1.2.5"
width="580" height="275">
</td>
</tr>
</tbody>
</table>
<!-- Start Container  -->
<div>    <!-- Start Anschreiben  -->
<table class="container" width="580" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td style="height: 20px; line-height: 0; font-size: 0px;" valign="top">&nbsp;</td></tr>
<tr>
<td class="mobile" style="width: 580px;">
<p style="padding: 0px; text-align: left; color: #4b4b4b; line-height: 20px;
font-family: Arial, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px;">

<strong>Sehr geehrte(r) Herr/Frau &gt;"<[MALICIOUS INJECTED SCRIPT CODE PAYLOAD EXECUTION!]>,</strong><br /><br />
ab sofort ist Ihr Account im Service-Portal MyWorkplace aktiviert.
Auf MyWorkplace k&ouml;nnen Sie Ihre Cloud L&ouml;sung konfigurieren und verwalten.

Sobald Sie Ihren gebuchten Cloud-Service nutzen k&ouml;nnen, erhalten Sie eine Ready-for-Service-E-Mail.</p>
</td></tr></tbody>
</table>
<!-- Ende Anschreiben  -->
</div>
<div>    <!-- Start Fliesstext + opt. link  -->
<table border="0" width="580" cellspacing="0" cellpadding="0" class="container">
<tbody><tr><td valign="top" style="height: 20px; line-height: 0; font-size: 0px;">&nbsp;</td>
</tr><tr>
... ...   ... ...
<td class="mobile" width="580"><img alt="Herzlich Willkommen in der TelekomCLOUD" class="imgClass" style="margin: 0; padding: 0;
border: none; display: block;" src="https://www.websso.t-systems.de/kulipa/public/optinmail/visual.jpg"
width="580" height="275" border="0"></td></tr>
</tbody></table> <!-- Start Container  -->
<div>
<!-- Start Anschreiben  -->
<table class="container" width="580" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td style="line-height: 0; font-size: 0" valign="top" height="20">&nbsp;</td>
</tr>
<tr>
<td class="mobile" width="580">
<p style="font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; color: #4b4b4b;
padding: 0; Margin-bottom: 0; Margin-top: 0; text-align: left;">

<strong>Sehr geehrter Herr &gt;"<[MALICIOUS INJECTED SCRIPT CODE FIRSTNAME EXECUTION!]>   <[MALICIOUS INJECTED SCRIPT CODE LASTNAME EXECUTION!]>,</strong>
<br> <br> vielen Dank f&uuml;r Ihre
Registrierung im <strong>Telekom</strong>CLOUD
Portal.
<br> <br> Um Ihren Account zu
aktivieren, bitten wir Sie nun Ihr Passwort f&uuml;r Ihren
Zugang festzulegen. Bitte gehen Sie daf&uuml;r auf die
Aktivierungsseite:
</p></td></tr>
</tbody>
</table>

URLs:
https://cloud.telekom.de/de/registrieren/
https://www.websso.t-systems.de/

Multiple solutions to resolve the vulnerabilities are mentioned in the advisory by the researchers as follows ...

Solution - Fix & Patch
The vulnerability in the cloud sso web service can be patched by a secure parse of the vulnerabel firstName and lastName input fields. Restrict via disallowing the usage of special chars and script codes within the submit POST method request outside the basic form input. Parse all output locations in the different layers were the execution takes place ... frontend, backend & outgoing emails. In the outgoing.

At the end the researchers has been acknowledged by the german telekom cert within january 2017. The issue has been resolved to protect the backend and frontend web-application of myworkplace. The patches has been improved by the vulnerability lab core team to ensure the issues has been resolved permanently.

Thanks to the German Telekom CERT for cooperation and coordination to resolve the reported security vulnerabilities!

Advisory: https://www.vulnerability-lab.com/get_content.php?id=2021

 

Reference(s):

https://cloud.telekom.de/de

https://www.telekom.com/de/verantwortung/datenschutz-und-datensicherheit/sicherheit/sicherheit/danksagungen-342720

Rate this article: 
Average: 5 (2 votes)

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.