Closed
Bug 453886
Opened 17 years ago
Closed 16 years ago
Reflected Cross Site Scripting in Forgot Password Functionality
Categories
(developer.mozilla.org Graveyard :: General, defect)
developer.mozilla.org Graveyard
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: justdave, Assigned: sheppy)
Details
(Keywords: wsec-xss)
Our penetration testers discovered the following issue:
Class: Data Validation
Severity: High
Difficulty to Exploit: Low
Targets: http://developer.mozilla.org/index.php?title=Special:Userlogin, ‘forgot password’ functionality.
Description: Poor input filtering and output encoding allows an attacker to execute JavaScript into the context of the developer.mozilla.org in a victim’s browser via the ‘forgot password’ link on the login page.
Exploit Scenario: The attacker sends the victim a web page as email that contains a hidden iframe which upon page load automatically submits a form request that simulates clicking the forgot password link with the post parameter "<img src=z onerror=javascript:alert(‘xss’)> as the username. This permits the attacker to execute JavaScript in the user’s web browser and execute in the context of the developer.mozilla.org website as the user.
Short Term Solution: Data returned from the XMLHTTPRequest used during the ‘forgot password’ operation should be sanitized before being returned to the web page for display. In this case, the web page calls eval() in JavaScript on whatever data is returned from the XMLHTTPRequest. Reflecting user data directly in an eval statement like this is dangerous, and if such is necessary, the input taken from the user should be checked against a white list of acceptable values. If that’s not possible, it should be checked using as tightly defined an input filtering mechanism as possible to ensure that attackers aren’t able to execute JavaScript in the user’s web browser via unfiltered or poorly filtered XMLHTTPRequests Requiring that usernames submitted via this method only contain alphanumeric characters would prevent this attack.
Long Term Solution: Adopt a standard practice of tightly white listing input accepted from XMLHTTPRequests, and output encode the data that’s returned to the application for evaluation to ensure that the user isn’t able to reflect JavaScript into the return value.
Comment 1•16 years ago
|
||
Sheppy: would you address this with mindtouch please?
Comment 2•16 years ago
|
||
[masschange]
Sheppy: can you please give us an update here? Is anyone working on this? Your blog post said we've had two updates in the past week - is this being addressed?
Assignee: nobody → eshepherd
Assignee | ||
Comment 3•16 years ago
|
||
This should be fixed in the 8.08.1a release that we can pick up today.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Comment 4•16 years ago
|
||
This is still a problem. Reopening.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 5•16 years ago
|
||
I meant to reopen bug 455112, not this one...
Status: REOPENED → RESOLVED
Closed: 16 years ago → 16 years ago
Resolution: --- → FIXED
Updated•13 years ago
|
Component: Deki Infrastructure → Other
Comment 6•12 years ago
|
||
Adding keywords to bugs for metrics, no action required. Sorry about bugmail spam.
Keywords: wsec-xss
Comment 7•9 years ago
|
||
For bugs that are resolved, we remove the security flag. These haven't had their flag removed, so I'm removing it now.
Group: websites-security
Updated•5 years ago
|
Product: developer.mozilla.org → developer.mozilla.org Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•