Ruby up to 2.2.9/2.3.6/2.4.3/2.5.0 Dirmktmpdir prefix path traversal
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 7.2 | $0-$5k | 0.00 |
Summary
A vulnerability identified as critical has been detected in Ruby up to 2.2.9/2.3.6/2.4.3/2.5.0. This impacts the function Dirmktmpdir. This manipulation of the argument prefix with the input .. causes path traversal.
This vulnerability appears as CVE-2018-6914. The attack may be initiated remotely. There is no available exploit.
You should upgrade the affected component.
Details
A vulnerability has been found in Ruby up to 2.2.9/2.3.6/2.4.3/2.5.0 (Programming Language Software) and classified as critical. Affected by this vulnerability is the function Dirmktmpdir. The manipulation of the argument prefix with the input value .. leads to a path traversal vulnerability. The CWE definition for the vulnerability is CWE-22. The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory. As an impact it is known to affect confidentiality, integrity, and availability. The summary by CVE is:
Directory traversal vulnerability in the Dir.mktmpdir method in the tmpdir library in Ruby before 2.2.10, 2.3.x before 2.3.7, 2.4.x before 2.4.4, 2.5.x before 2.5.1, and 2.6.0-preview1 might allow attackers to create arbitrary directories or files via a .. (dot dot) in the prefix argument.
The bug was discovered 03/28/2018. The weakness was presented 04/03/2018 (Website). It is possible to read the advisory at ruby-lang.org. This vulnerability is known as CVE-2018-6914 since 02/12/2018. The exploitation appears to be easy. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details of the vulnerability are known, but there is no available exploit. The attack technique deployed by this issue is T1006 according to MITRE ATT&CK.
The vulnerability was handled as a non-public zero-day exploit for at least 6 days. During that time the estimated underground price was around $0-$5k. The vulnerability scanner Nessus provides a plugin with the ID 109284 (Debian DLA-1359-1 : ruby1.8 security update), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Debian Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 237072 (Red Hat Update for rh-ruby25-ruby (RHSA-2018:3731)).
Upgrading to version 2.2.10, 2.3.7, 2.4.4, 2.5.1 or 2.6.0-preview1 eliminates this vulnerability. A possible mitigation has been published 3 weeks after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (109284), SecurityFocus (BID 103686†) and CERT Bund (WID-SEC-2023-1111). See VDB-114428, VDB-114429, VDB-114430 and VDB-114431 for similar entries. Be aware that VulDB is the high quality source for vulnerability data.
Affected
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- Open Source Ruby
- Open Source Arch Linux
Product
Type
Name
Version
- 2.0
- 2.1
- 2.2
- 2.2.0
- 2.2.1
- 2.2.2
- 2.2.3
- 2.2.4
- 2.2.5
- 2.2.6
- 2.2.7
- 2.2.8
- 2.2.9
- 2.3
- 2.3.0
- 2.3.1
- 2.3.2
- 2.3.3
- 2.3.4
- 2.3.5
- 2.3.6
- 2.4
- 2.4.0
- 2.4.1
- 2.4.2
- 2.4.3
- 2.5.0
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.4VulDB Meta Temp Score: 7.2
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.5
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: Path traversalCWE: CWE-22
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
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: 109284
Nessus Name: Debian DLA-1359-1 : ruby1.8 security update
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 860813
OpenVAS Name: Debian LTS Advisory ([SECURITY] [DLA 1358-1] ruby1.9.1 security update)
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Upgrade: Ruby 2.2.10/2.3.7/2.4.4/2.5.1/2.6.0-preview1
Timeline
02/12/2018 🔍03/28/2018 🔍
03/28/2018 🔍
04/03/2018 🔍
04/03/2018 🔍
04/04/2018 🔍
04/23/2018 🔍
04/24/2018 🔍
05/10/2026 🔍
Sources
Advisory: RHSA-2018:3729Researcher: ooooooo_q
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2018-6914 (🔍)
GCVE (CVE): GCVE-0-2018-6914
GCVE (VulDB): GCVE-100-115663
OVAL: 🔍
SecurityFocus: 103686 - Ruby CVE-2018-6914 Directory Traversal Vulnerability
SecurityTracker: 1042004
CERT Bund: WID-SEC-2023-1111 - Ruby: Mehrere Schwachstellen
See also: 🔍
Entry
Created: 04/04/2018 08:42Updated: 05/10/2026 01:34
Changes: 04/04/2018 08:42 (78), 01/21/2020 08:58 (6), 02/08/2021 11:29 (2), 02/08/2021 11:33 (1), 02/26/2023 14:30 (3), 05/10/2026 01:34 (21)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.