RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1592957 - Ansible remediation of default umask in login.defs sets incorrect value
Summary: Ansible remediation of default umask in login.defs sets incorrect value
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: scap-security-guide
Version: 7.5
Hardware: All
OS: Linux
high
medium
Target Milestone: rc
: ---
Assignee: Watson Yuuma Sato
QA Contact: Marek Haicman
Mirek Jahoda
URL:
Whiteboard:
Depends On:
Blocks: 1601931
TreeView+ depends on / blocked
 
Reported: 2018-06-19 16:39 UTC by Shawn K. O'Shea
Modified: 2021-12-10 16:24 UTC (History)
7 users (show)

Fixed In Version: scap-security-guide-0.1.40-5.el7
Doc Type: Bug Fix
Doc Text:
Prior to this update, the Extensible Configuration Checklist Description Format (XCCDF) benchmark contained the octal umask value for the "/etc/login.defs" file converted to the decimal format. Consequently, Ansible remediations against Red Hat Enterprise Linux 7 incorrectly set the "accounts_umask_etc_login_defs" value. The umask value format in the XCCDF benchmark has been fixed, the umask entry now correctly passes through.
Clone Of:
: 1601931 (view as bug list)
Environment:
Last Closed: 2018-10-30 11:46:49 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:3308 0 None None None 2018-10-30 11:47:33 UTC

Description Shawn K. O'Shea 2018-06-19 16:39:32 UTC
Description of problem:
When running ansible remediation against RHEL7, the check tagged 'accounts_umask_etc_login_defs', which sets the default UMASK entry in /etc/login.defs, incorrectly sets this value.

The issue appears to be that the umask is being treated by Ansible/Jinja2/Python as an octal (which technically it is), and being written as the decimal equivalent. This is from the variable var_accounts_user_umask.

Version-Release number of selected component (if applicable):
scap-security-guide-0.1.36-9.el7_5.noarch

How reproducible:
Always

Steps to Reproduce:
1.Generate Ansible for remediation, for example:
oscap xccdf generate fix --fix-type ansible --profile xccdf_org.ssgproject.content_profile_stig-rhel7-disa --output stig-rhel7-role.yml /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml
2. Apply the offending control: ansible-playbook -b -c local -i localhost, --tags accounts_umask_etc_login_defs stig-rhel7-role.yml


Actual results:
$ grep UMASK /etc/login.defs
UMASK 63
## NOTE
$ printf "%d\n" 077
63

Expected results:
$ grep UMASK /etc/login.defs
UMASK 077

Additional info:
Note above in the actual results where I've shown that "077" octal is "63" decimal, which is the result I get in /etc/login.defs.

If I edit the generated playbook and make the var_accounts_user_umask variable a string instead of a number, I get the desired result ('077' instead of 077)

This appears to be a bug upstream. I've submitted Github issue #2989 [1] to address this problem.

[1] https://github.com/OpenSCAP/scap-security-guide/issues/2989

Comment 2 Josip Vilicic 2018-06-24 23:36:21 UTC
Hello Engineering Team,

1) As of now, OpenSCAP remediation by generating Ansible Playbooks does not work correctly if it has this bug.

   The Red Hat customer in the case attached to this bug (who actually filed the bug) is asking if this bug can be prioritized.

   Would a z-stream release be possible?


2) This is the same customer from:

   a) "Ansible remediation setting SELinux policy fails"
      https://bugzilla.redhat.com/show_bug.cgi?id=1592970

   b) "Ansible remediation of various dconf settings contains typo"
      https://bugzilla.redhat.com/show_bug.cgi?id=1592887

Take care,

Jo Vilicic
irc: jo -- jvilicic
TSE  --  IdM  --  919-754-4951

Comment 3 Matěj Týč 2018-06-26 15:06:36 UTC
The issue has fix upstream: https://github.com/OpenSCAP/scap-security-guide/pull/3046

Comment 4 Martin Preisler 2018-06-26 17:37:54 UTC
Another related patch: https://github.com/OpenSCAP/scap-security-guide/pull/3050

Comment 8 Marek Haicman 2018-09-16 19:25:38 UTC
Verified on version scap-security-guide-0.1.40-5.el7

Tested with SSG Test Suite, on the commit
commit 2dc31c16cc6aa961d1e93e17b0f08ab83a82abfd
With command line arguments: --libvirt qemu:///system ssg-test-suite-rhel7 --xccdf-id scap_org.open-scap_cref_ssg-rhel7-xccdf-1.2.xml --remediate-using ansible rule_accounts_umask_etc_login_defs

DataStream used (md5) : 2ea1bcda4a87b210d0eb9d82f248db8b ./rhel7_753.xml
Setting console output to log level INFO
INFO - The base image option has not been specified, choosing libvirt-based test environment.
INFO - Logging into /home/dahaic/RH/git/upstream/dahaic/scap-security-guide/tests/logs/rule-custom-2018-09-16-2115/test_suite.log
INFO - xccdf_org.ssgproject.content_rule_accounts_umask_etc_login_defs
INFO - Script correct_value.pass.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui OK
INFO - Script super_compliance.pass.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui OK
ERROR - Script wrong_configuration.fail.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui found issue:
ERROR - Scan has exited with return code 0, instead of expected 2 during stage initial
ERROR - The initial scan failed for rule 'xccdf_org.ssgproject.content_rule_accounts_umask_etc_login_defs'.
INFO - Script wrong_value.fail.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui OK
ERROR - Scan has exited with return code 2, instead of expected 0 during stage final
ERROR - The check after remediation failed for rule 'xccdf_org.ssgproject.content_rule_accounts_umask_etc_login_defs'.

DataStream used (md5) : 1b70337c8805d0107eadbaa89bc11ad5 ./0.1.40-5.rhel7.ds.xml
Setting console output to log level INFO
INFO - The base image option has not been specified, choosing libvirt-based test environment.
INFO - Logging into /home/dahaic/RH/git/upstream/dahaic/scap-security-guide/tests/logs/rule-custom-2018-09-16-2117/test_suite.log
INFO - xccdf_org.ssgproject.content_rule_accounts_umask_etc_login_defs
INFO - Script correct_value.pass.sh using profile xccdf_org.ssgproject.content_profile_ospp OK
INFO - Script correct_value.pass.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui OK
INFO - Script super_compliance.pass.sh using profile xccdf_org.ssgproject.content_profile_ospp OK
INFO - Script super_compliance.pass.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui OK
INFO - Script wrong_configuration.fail.sh using profile xccdf_org.ssgproject.content_profile_ospp OK
INFO - Script wrong_configuration.fail.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui OK
INFO - Script wrong_value.fail.sh using profile xccdf_org.ssgproject.content_profile_ospp OK
INFO - Script wrong_value.fail.sh using profile xccdf_org.ssgproject.content_profile_nist-800-171-cui OK

Comment 10 errata-xmlrpc 2018-10-30 11:46:49 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://access.redhat.com/errata/RHBA-2018:3308


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