Description of problem:
The audit_rules_augenrules OVAL definition in shared/checks/oval/audit_rules_augenrules.xml fails to detect augenrules on Fedora 42+. The regex ^ExecStart=(\/usr|)?\/sbin\/augenrules.*$ does not match /usr/bin/augenrules, which is the path in audit-rules.service on Fedora 42 and later due to the /usr/sbin unification. Every audit rule check that depends on this definition fails.
PR #14367 correctly routed Fedora into the audit-rules.service code path, but the regex inherited from RHEL 10 only matches /sbin/ and /usr/sbin/, not /usr/bin/.
SCAP Security Guide Version:
master @ a5b5903
Operating System Version:
Fedora 45 Rawhide aarch64 (openscap-scanner 1.4.3, audit 4.1.3). Unit file paths are arch-independent; verified on F42 through F45.
Steps to Reproduce:
- Build the Fedora datastream:
./build_product fedora --datastream-only
- On Fedora 42+, run:
grep ExecStart /usr/lib/systemd/system/audit-rules.service — observe /usr/bin/augenrules --load
- Run:
sudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard build/ssg-fedora-ds.xml
- Observe all
audit_rules_* checks fail
Actual Results:
audit_rules_augenrules evaluates to false. All dependent audit rule checks fail (25 of 41 failures in the Standard profile).
Expected Results:
audit_rules_augenrules should evaluate to true when audit-rules.service contains ExecStart=/usr/bin/augenrules --load.
Additional Information/Debugging Steps:
On Fedora 42+, %{_sbindir} expands to /usr/bin and /usr/sbin is a symlink to bin. The audit RPM installs directly to /usr/bin/augenrules. Fedora 41 is unaffected (/usr/sbin is a real directory there).
| Release |
/usr/sbin |
ExecStart= |
Regex matches? |
| Fedora 41 |
real dir |
/usr/sbin/augenrules --load |
yes |
| Fedora 42 |
-> bin |
/usr/bin/augenrules --load |
no |
| Fedora 43 |
-> bin |
/usr/bin/augenrules --load |
no |
| Fedora 44 |
-> bin |
/usr/bin/augenrules --load |
no |
| Fedora 45 |
-> bin |
/usr/bin/augenrules --load |
no |
Description of problem:
The
audit_rules_augenrulesOVAL definition inshared/checks/oval/audit_rules_augenrules.xmlfails to detect augenrules on Fedora 42+. The regex^ExecStart=(\/usr|)?\/sbin\/augenrules.*$does not match/usr/bin/augenrules, which is the path inaudit-rules.serviceon Fedora 42 and later due to the /usr/sbin unification. Every audit rule check that depends on this definition fails.PR #14367 correctly routed Fedora into the
audit-rules.servicecode path, but the regex inherited from RHEL 10 only matches/sbin/and/usr/sbin/, not/usr/bin/.SCAP Security Guide Version:
master @
a5b5903Operating System Version:
Fedora 45 Rawhide aarch64 (openscap-scanner 1.4.3, audit 4.1.3). Unit file paths are arch-independent; verified on F42 through F45.
Steps to Reproduce:
./build_product fedora --datastream-onlygrep ExecStart /usr/lib/systemd/system/audit-rules.service— observe/usr/bin/augenrules --loadsudo oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard build/ssg-fedora-ds.xmlaudit_rules_*checks failActual Results:
audit_rules_augenrulesevaluates to false. All dependent audit rule checks fail (25 of 41 failures in the Standard profile).Expected Results:
audit_rules_augenrulesshould evaluate to true whenaudit-rules.servicecontainsExecStart=/usr/bin/augenrules --load.Additional Information/Debugging Steps:
On Fedora 42+,
%{_sbindir}expands to/usr/binand/usr/sbinis a symlink tobin. The audit RPM installs directly to/usr/bin/augenrules. Fedora 41 is unaffected (/usr/sbinis a real directory there)./usr/sbinExecStart=/usr/sbin/augenrules --load-> bin/usr/bin/augenrules --load-> bin/usr/bin/augenrules --load-> bin/usr/bin/augenrules --load-> bin/usr/bin/augenrules --load