setroubleshoot Container Restriction subprocess.check_output run_fix XML Document command injection
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.3 | $0-$5k | 0.00 |
Summary
A vulnerability classified as critical has been found in setroubleshoot. Affected by this issue is the function run_fix of the file subprocess.check_output of the component Container Restriction. This manipulation as part of XML Document causes command injection.
This vulnerability is registered as CVE-2016-4989. The attack needs to be launched locally. No exploit is available.
It is recommended to upgrade the affected component.
Details
A vulnerability classified as critical was found in setroubleshoot (version now known). Affected by this vulnerability is the function run_fix of the file subprocess.check_output of the component Container Restriction. The manipulation as part of a XML Document leads to a command injection vulnerability. The CWE definition for the vulnerability is CWE-77. The product constructs all or part of a command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended command when it is sent to a downstream component. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
setroubleshoot allows local users to bypass an intended container protection mechanism and execute arbitrary commands by (1) triggering an SELinux denial with a crafted file name, which is handled by the _set_tpath function in audit_data.py or via a crafted (2) local_id or (3) analysis_id field in a crafted XML document to the run_fix function in SetroubleshootFixit.py, related to the subprocess.check_output and commands.getstatusoutput functions, a different vulnerability than CVE-2016-4445.
The bug was discovered 06/22/2016. The weakness was published 04/11/2017 as not defined mailinglist post (oss-sec). It is possible to read the advisory at seclists.org. This vulnerability is known as CVE-2016-4989 since 05/24/2016. The exploitation appears to be easy. Attacking locally is a requirement. Required for exploitation is a single authentication. Technical details of the vulnerability are known, but there is no available exploit. The attack technique deployed by this issue is T1202 according to MITRE ATT&CK.
The vulnerability scanner Nessus provides a plugin with the ID 91732 (CentOS 6 : setroubleshoot / setroubleshoot-plugins (CESA-2016:1267)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family CentOS Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 256034 (CentOS Security Update for setroubleshoot (CESA-2016:1267)).
Upgrading eliminates this vulnerability. A possible mitigation has been published before and not just after the disclosure of the vulnerability.
The vulnerability is also documented in the vulnerability database at Tenable (91732). Similar entries are available at VDB-99592, VDB-99593 and VDB-99594. Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Product
Name
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.4VulDB Meta Temp Score: 7.3
VulDB Base Score: 7.8
VulDB Temp Score: 7.5
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.0
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Command injectionCWE: CWE-77 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: No
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 91732
Nessus Name: CentOS 6 : setroubleshoot / setroubleshoot-plugins (CESA-2016:1267)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 881932
OpenVAS Name: CentOS Update for setroubleshoot CESA-2016:1293 centos7
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Patch: github.com
Timeline
05/24/2016 🔍06/21/2016 🔍
06/22/2016 🔍
06/22/2016 🔍
04/11/2017 🔍
04/11/2017 🔍
04/12/2017 🔍
11/28/2022 🔍
Sources
Advisory: RHSA-2016:1267Status: Not defined
Confirmation: 🔍
CVE: CVE-2016-4989 (🔍)
GCVE (CVE): GCVE-0-2016-4989
GCVE (VulDB): GCVE-100-99595
OSVDB: - CVE-2016-4989 - setroubleshoot - Security Bypass Issue
SecurityTracker: 1036144
See also: 🔍
Entry
Created: 04/12/2017 09:52Updated: 11/28/2022 10:41
Changes: 04/12/2017 09:52 (73), 08/29/2020 09:56 (4), 11/28/2022 10:30 (6), 11/28/2022 10:36 (1), 11/28/2022 10:41 (1)
Complete: 🔍
Cache ID: 216:AD6:103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.