Advisory: Insufficient Parameter Sanitization in (Microsoft)

Subject: Advisory: Insufficient Parameter Sanitization in (Microsoft)

Original at:

Web widgets hosted by Microsoft\u2019s online login portal,, do not perform sufficient parameter sanitization allowing an attacker to inject arbitrary text.

Microsoft offers several legacy Javascript widgets that are used to display and customize sign-in link and buttons using Windows Live ID. They are hosted on at the following URLs:

They are documented by Microsoft here and accept several parameters that are used to customize the resulting widget.

One of the parameters, style, is used to pass in CSS styling commands for the Javascript widgets described above. However, this parameter is not sanitized, and reflects back the information passed to to it via Javascript's alert() method. It can be coerced to reflect arbitrary text of the attacker\u2019s choosing, making it seemingly appear on a legit Microsoft website. While this does not result in script execution, it can be used as part of a social engineering campaign to attack users.

Example URL with malicious content:

MSRC Case # 30838 / TRK # 0189016
Microsoft Sign-in Link API:

Thank you to Grier Forensics for providing advice.

Bounty Information
This discovery qualified for a security bounty under the terms of Microsoft's Online Services Bug Bounty program.

2015-08-06: Vendor notified
2015-08-06: Initial vendor response
2015-08-11: Vendor replicated the issue
2015-08-31: Fix deployed by vendor
2015-09-17: Bounty received 
2015-09-21: Public disclosure

Version Information
Version 2
Last updated on 2015-09-20

Copyright © 1995-2018 All rights reserved.