Bug 1305786 - Unsanitized input in username field on login page
Summary: Unsanitized input in username field on login page
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: pcs
Version: 7.2
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Tomas Jelinek
QA Contact: cluster-qe@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-09 08:58 UTC by Martin Prpič
Modified: 2016-11-03 20:57 UTC (History)
6 users (show)

Fixed In Version: pcs-0.9.151-1.el7
Doc Type: Bug Fix
Doc Text:
Cause: User enters username containing HTML code to login page and submits the login form. Consequence: Login page reloads showing an error message informing about unsuccessful login. HTML code in username is interpreted as part of the page. Fix: Properly sanitize username when rendering it in login page. Result: Username cannot be used for HTML injection anymore.
Clone Of:
Environment:
Last Closed: 2016-11-03 20:57:15 UTC
Target Upstream Version:


Attachments (Terms of Use)
proposed fix 1 (2.00 KB, patch)
2016-02-15 14:31 UTC, Tomas Jelinek
no flags Details | Diff
proposed fix 2 (1.50 KB, patch)
2016-02-15 14:31 UTC, Tomas Jelinek
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:2596 0 normal SHIPPED_LIVE Moderate: pcs security, bug fix, and enhancement update 2016-11-03 12:11:34 UTC

Description Martin Prpič 2016-02-09 08:58:35 UTC
Following a failed login in the pcsd web UI, the page reloads with the last user name that was entered. Because the user name is not sanitized, it allows a user to inject a script that will then get executed. This can be reproduced by entering the following user name in the login form:

test' name=username><script>alert('hello')</script>

While this would qualify as a cross-site scripting issue, it cannot be used to construct a malicious link that could be sent to an unsuspecting victim.

The expected result is that the user name is properly sanitized, or not returned at all on a failed login.

Comment 2 Tomas Jelinek 2016-02-15 14:31:01 UTC
Created attachment 1127307 [details]
proposed fix 1

Comment 3 Tomas Jelinek 2016-02-15 14:31:21 UTC
Created attachment 1127308 [details]
proposed fix 2

Comment 4 Tomas Jelinek 2016-02-15 14:39:25 UTC
Test:

enter the following text to the login form and submit it:
test' name=username><script>alert('hello')</script>

Comment 5 Mike McCune 2016-03-28 23:40:50 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

Comment 6 Ivan Devat 2016-05-31 12:30:41 UTC
Before fix:
[vm-rhel72-1 ~] $ rpm -q pcs
pcs-0.9.143-15.el7.x86_64

1 Open pcs web ui
2 enter the following text to the login form and submit it:
test' name=username><script>alert('hello')</script>
3 alert box apears

After Fix:
[vm-rhel72-1 ~] $ rpm -q pcs
pcs-0.9.151-1.el7.x86_64

1 Open pcs web ui
2 enter the following text to the login form and submit it:
test' name=username><script>alert('hello')</script>
3 alert box does not apear

Comment 10 errata-xmlrpc 2016-11-03 20:57:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-2596.html


Note You need to log in before you can comment on or make changes to this bug.