Bug 1023093

Summary: User can break Domains UI by entering a nasty string for 'name'
Product: Red Hat Satellite Reporter: Corey Welton <cwelton>
Component: ProvisioningAssignee: Dmitri Dolguikh <dmitri>
Status: CLOSED CURRENTRELEASE QA Contact: Corey Welton <cwelton>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.0.2CC: dcleal, mmccune, ohadlevy
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/3516
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-02 14:04:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Corey Welton 2013-10-24 15:19:28 UTC
Description of problem:

When users enters an ugly string for Domain, it breaks the UI - Domains UI can subsequently not be accessed.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.  Navigate to Domains in foreman and try to create a new domain.  use the following string

你好/`cat /etc/passwd/

2.  Note error
3.  Attempt to navigate back to main domains UI at all, e.g., server.example.com/foreman/domains

Actual results:

Initial and subsequent errors

"Oops, we're sorry but something went wrong
 
x No route matches {:action=>"edit", :controller=>"domains", :id=>"你好/`cat /etc/passwd/`"}
If you feel this is an error with Foreman itself, please open a new issue with Foreman ticketing system, You would probably need to attach the Full trace and relevant log entries.

Back"

User cannot access page

Expected results:

Field validation

Additional info:

Not sure if a workaround is to use cli to try and remove any gunk.  Will try and report back.

Comment 1 Corey Welton 2013-10-24 15:23:17 UTC
Satellite-6.0.2-RHEL-6-20131023.1

Comment 2 Corey Welton 2013-10-24 15:24:40 UTC
A side note:  The resulting error page also references tracking issues in foreman bug tracker. We fixed this elsewhere but apparently this is a new place where we need to point to BZ.  I'd prefer we fix this at the same time since it's hard to try and verify such things when the underlying breakage is fixed.

Comment 3 Corey Welton 2013-10-24 15:25:38 UTC
I think the actual string used was 

你好/`cat /etc/passwd`


bad copy and paste from screen in the initial report.

Comment 4 Corey Welton 2013-10-24 15:28:26 UTC
from hammer -u admin -p admin domain list


3  | 你好/`cat /etc/passwd/`

So there's your proper string

It does appear we can remove it via CLI

hammer -u admin -p admin domain delete --id 3

So as we have a workaround, I will remove blocker.

Comment 6 Dominic Cleal 2013-10-25 13:41:15 UTC
A basic "a/b" causes it to fail too, much the same reason behind bug #1023062 as we're not sanitising names sufficiently in URLs.

Comment 7 Dominic Cleal 2013-11-13 12:02:13 UTC
Merged as 39558b7200a7e1d4d5976ee62e25491d9016e56f in develop.

Comment 11 Corey Welton 2014-05-05 19:07:44 UTC
Verified in Satellite/Satellite-6.0.3-RHEL-6-20140430.4

Comment 12 Bryan Kearney 2014-07-02 14:04:47 UTC
This was delivered with 6.0.3, which is the Satellite 6 Beta.