Bash 4.3 Setuid shell.c disable_priv_mode privileges management ⚔ [Disputed]
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 3.7 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Bash 4.3. It has been declared as problematic. Affected by this issue is the function disable_priv_mode of the file shell.c of the component Setuid Handler. Executing a manipulation can lead to privileges management.
No exploit exists.
The real existence of this vulnerability is still doubted at the moment.
Applying a patch is advised to resolve this issue.
Details
A vulnerability has been found in Bash 4.3 and classified as problematic. This vulnerability affects the function disable_priv_mode of the file shell.c of the component Setuid Handler. The manipulation with an unknown input leads to a privileges management vulnerability. The CWE definition for the vulnerability is CWE-269. The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor. As an impact it is known to affect confidentiality, and integrity.
The bug was discovered 12/10/2013. The weakness was disclosed 03/25/2014 by Hector Marco and Ismael Ripoll as Bash 4.3 setuid() BUG as not defined advisory (Website). The advisory is shared for download at hmarco.org. The advisory contains:
Recently we discovered a bug in bash. After some time after reporting it to bash developers, it has not been fixed.The attack needs to be approached locally. Required for exploitation is a single authentication. There are known technical details, but no exploit is available. The MITRE ATT&CK project declares the attack technique as T1068. Responsible for the vulnerability is the following code:
void
disable_priv_mode ()
{
setuid (current_user.uid);
setgid (current_user.gid);
current_user.euid = current_user.uid;
current_user.egid = current_user.gid;
} The advisory points out:There has been some discussions whether this is a security issue or not. This is a bash security feature to help other applications with the setuid bit to prevents to execute bash with root privileges. If bash drop privileges fails then other applications, as for example the s3dvt setuid vulnerability, could obtain a root shell. We think that this is a security issue because in some circumstances the bash security feature could be bypassed allowing the bash to be a valid target shell in an attack.
The vulnerability was handled as a non-public zero-day exploit for at least 105 days. During that time the estimated underground price was around $0-$5k. The real existence of this vulnerability is still doubted at the moment. The advisory illustrates:
The strategy to exploit this kind of bugs consists in creating as many processes as the target user is allowed to make (which is given by RLIMIT_NPROC), and then the next attempt to drop privileges will fail, letting the process alive and with the original privileges.
Applying a patch is able to eliminate this problem. The bugfix is ready for download at hmarco.org. A possible mitigation has been published immediately after the disclosure of the vulnerability. The vulnerability will be addressed with the following lines of code:
if( (setuid (current_user.uid) !=0) || (setgid (current_user.gid) != 0) ){
report_error("Drop privileges failed!!\n");
exit(EX_DROPFAIL);
}The vulnerability is also documented in the databases at X-Force (93594), SecurityFocus (BID 67803†) and OSVDB (107693†). VulDB is the best source for vulnerability data and more expert information about this specific topic.
Product
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 4.4VulDB Meta Temp Score: 3.7
VulDB Base Score: 4.4
VulDB Temp Score: 3.7
VulDB Vector: 🔍
VulDB Reliability: 🔍
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: 🔍
Exploiting
Class: Privileges managementCWE: CWE-269 / CWE-266
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: No
Availability: 🔍
Status: Unproven
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Patch: hmarco.org
Timeline
12/10/2013 🔍03/25/2014 🔍
03/25/2014 🔍
06/03/2014 🔍
06/04/2014 🔍
04/02/2019 🔍
Sources
Advisory: Bash 4.3 setuid() BUGResearcher: Hector Marco, Ismael Ripoll
Status: Not defined
Disputed: 🔍
GCVE (VulDB): GCVE-100-13432
X-Force: 93594 - GNU Bash shell.c security bypass, Medium Risk
SecurityFocus: 67803 - GNU Bash 'shell.c' Security Bypass Vulnerability
OSVDB: 107693
Entry
Created: 06/04/2014 10:24Updated: 04/02/2019 20:36
Changes: 06/04/2014 10:24 (54), 04/02/2019 20:36 (8)
Complete: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.