Signed-off-by: Maura Dailey <maura(a)eclipse.ncsc.mil>
---
.../checks/accounts_dangerous_path_for_root.xml | 30 +++++++++++++++----
1 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/RHEL6/input/checks/accounts_dangerous_path_for_root.xml
b/RHEL6/input/checks/accounts_dangerous_path_for_root.xml
index abff72c..aa38d43 100644
--- a/RHEL6/input/checks/accounts_dangerous_path_for_root.xml
+++ b/RHEL6/input/checks/accounts_dangerous_path_for_root.xml
@@ -7,23 +7,30 @@
</affected>
<description>The environment variable PATH should be set correctly for the
root user.</description>
</metadata>
- <criteria comment="environment variable PATH contains dangerous path"
operator="OR">
+ <criteria comment="environment variable PATH contains dangerous path"
operator="AND">
<criterion comment="environment variable PATH starts with : or ."
test_ref="test_env_var_begins" />
<criterion comment="environment variable PATH contains : or . twice in a
row" test_ref="test_env_var_contains" />
<criterion comment="environment variable PATH ends with : or ."
test_ref="test_env_var_ends" />
+ <criterion comment="environment variable PATH doesn't begin with a
/" test_ref="test_env_var_begins_slash" />
</criteria>
</definition>
- <ind:environmentvariable_test check="all" comment="environment
variable PATH starts with : or ." id="test_env_var_begins"
version="1">
+ <ind:environmentvariable_test check="none satisfy"
comment="environment variable PATH starts with : or ."
id="test_env_var_begins" version="1">
<ind:object object_ref="object_env_var_path" />
<ind:state state_ref="state_begins_colon_period" />
</ind:environmentvariable_test>
- <ind:environmentvariable_test check="all" comment="environment
variable PATH contains : or . twice in a row" id="test_env_var_contains"
version="1">
+ <ind:environmentvariable_test check="none satisfy"
comment="environment variable PATH contains . or : twice in a row"
id="test_env_var_contains" version="1">
+ <ind:object object_ref="object_env_var_path" />
+ <ind:state state_ref="state_contains_double_colon" />
+ <ind:state state_ref="state_contains_double_period" />
+ </ind:environmentvariable_test>
+ <ind:environmentvariable_test check="none satisfy"
comment="environment variable PATH ends with : or ."
id="test_env_var_ends" version="1">
<ind:object object_ref="object_env_var_path" />
<ind:state state_ref="state_ends_colon_period" />
</ind:environmentvariable_test>
- <ind:environmentvariable_test check="all" comment="environment
variable PATH ends with : or ." id="test_env_var_ends"
version="1">
+ <ind:environmentvariable_test check="none satisfy"
comment="environment variable PATH begins with /"
id="test_env_var_begins_slash" version="1">
<ind:object object_ref="object_env_var_path" />
- <ind:state state_ref="state_contains_double_colon_period" />
+ <ind:state state_ref="state_begins_slash" />
+ <ind:state state_ref="state_contains_relative_path" />
</ind:environmentvariable_test>
<ind:environmentvariable_object id="object_env_var_path"
version="1">
<ind:name>PATH</ind:name>
@@ -31,10 +38,19 @@
<ind:environmentvariable_state comment="starts with colon or period"
id="state_begins_colon_period" version="1">
<ind:value operation="pattern match">^[:\.]</ind:value>
</ind:environmentvariable_state>
- <ind:environmentvariable_state comment="colon or period twice in a row"
id="state_contains_double_colon_period" version="1">
- <ind:value operation="pattern match">[:\.][:\.]</ind:value>
+ <ind:environmentvariable_state comment="colon twice in a row"
id="state_contains_double_colon" version="1">
+ <ind:value operation="pattern match">::</ind:value>
+ </ind:environmentvariable_state>
+ <ind:environmentvariable_state comment="period twice in a row"
id="state_contains_double_period" version="1">
+ <ind:value operation="pattern match">\.\.</ind:value>
</ind:environmentvariable_state>
<ind:environmentvariable_state comment="ends with colon or period"
id="state_ends_colon_period" version="1">
<ind:value operation="pattern match">[:\.]$</ind:value>
</ind:environmentvariable_state>
+ <ind:environmentvariable_state comment="begins with a slash"
id="state_begins_slash" version="1">
+ <ind:value operation="pattern match">^[^/]</ind:value>
+ </ind:environmentvariable_state>
+ <ind:environmentvariable_state comment="elements begin with a slash"
id="state_contains_relative_path" version="1">
+ <ind:value operation="pattern match">[^\\]:[^/]</ind:value>
+ </ind:environmentvariable_state>
</def-group>
--
1.7.1