Bug 1804505

Summary: Remote execution with sudo will fail if the ssh password contains regex meta-characters.
Product: Red Hat Satellite Reporter: Hao Chang Yu <hyu>
Component: Remote ExecutionAssignee: Suraj Patil <supatil>
Status: CLOSED ERRATA QA Contact: Peter Ondrejka <pondrejk>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.6.0CC: aruzicka, inecas, supatil
Target Milestone: 6.9.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-foreman_remote_execution_core-1.3.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-04-21 13:12:25 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 Hao Chang Yu 2020-02-19 02:29:13 UTC
Description of problem:
Failed to run remote execution command with sudo when ssh password contains the regex meta-characters. No command output or error message is printed on the screen but the job finished successfully.

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

Steps to Reproduce:
1. Create a user called "rexuser" in a target host with a password of "redhat123(". Give sudo privilege to it.
2. In Web UI -> Settings -> RemoteExecution -> Set SSH User as "rexuser"
3. In Web UI -> Monitor -> Jobs -> Run Job -> fill in the following job details
--------------------------------------------
Job category: Command
Job template: Run Command (SSH Default)
Search Query: <the target host>
Command: Any command that will print output, such as "date" or "uname" etc
Effective user: root
Password: redhat123(
Sudo password: redhat123(
--------------------------------------------

4. Click submit to run the job
5. Observe the output.

Actual results:
Command output is not printed on screen (see below) but the job finished without error.
---------------------
1: rex login: 
2: Exit status: 0
---------------------

Expected results:
Command output is printed on screen

Comment 4 Suraj Patil 2020-06-29 11:45:05 UTC
Created redmine issue https://projects.theforeman.org/issues/30237 from this bug

Comment 5 Bryan Kearney 2020-07-04 20:04:01 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/30237 has been resolved.

Comment 6 Brad Buckingham 2020-11-13 19:58:18 UTC
Fix is in Satellite 6.9 SNAP 1 with tfm-rubygem-foreman_remote_execution_core-1.3.1-1.el7sat.noarch

Comment 7 Peter Ondrejka 2020-11-20 13:14:28 UTC
Verified on Satellite 6.9 snap 2, using the steps from the problem description

Comment 10 errata-xmlrpc 2021-04-21 13:12:25 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 (Moderate: Satellite 6.9 Release), 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://access.redhat.com/errata/RHSA-2021:1313