| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.4 | $0-$5k | 0.00 |
Summary
A vulnerability marked as critical has been reported in Ruby. The affected element is the function Fiddle::Function.new. The manipulation leads to memory corruption.
This vulnerability is uniquely identified as CVE-2016-2339. The attack is possible to be carried out remotely. No exploit exists.
It is suggested to upgrade the affected component.
Details
A vulnerability was found in Ruby (Programming Language Software) (the affected version is unknown). It has been rated as critical. This issue affects the function Fiddle::Function.new. The manipulation with an unknown input leads to a memory corruption vulnerability. Using CWE to declare the problem leads to CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. Impacted is confidentiality, integrity, and availability. The summary by CVE is:
An exploitable heap overflow vulnerability exists in the Fiddle::Function.new "initialize" function functionality of Ruby. In Fiddle::Function.new "initialize" heap buffer "arg_types" allocation is made based on args array length. Specially constructed object passed as element of args array can increase this array size after mentioned allocation and cause heap overflow.
The bug was discovered 06/14/2016. The weakness was disclosed 01/06/2017 by Cisco with Cisco Talos (Website). The advisory is shared at talosintelligence.com. The identification of this vulnerability is CVE-2016-2339 since 02/12/2016. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. Technical details are known, but no exploit is available.
The vulnerability was handled as a non-public zero-day exploit for at least 206 days. During that time the estimated underground price was around $0-$5k. The vulnerability scanner Nessus provides a plugin with the ID 99895 (EulerOS 2.0 SP1 : ruby (EulerOS-SA-2017-1050)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Huawei Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 169872 (SUSE Enterprise Linux Security Update for ruby2.1 (SUSE-SU-2017:1067-1)).
Upgrading eliminates this vulnerability. A possible mitigation has been published 3 months after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (99895) and SecurityFocus (BID 91234†). The entries VDB-75229 and VDB-95056 are pretty similar. Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Product
Type
Name
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.5VulDB Meta Temp Score: 8.4
VulDB Base Score: 7.3
VulDB Temp Score: 7.0
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 9.8
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: Memory corruptionCWE: CWE-119
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: 99895
Nessus Name: EulerOS 2.0 SP1 : ruby (EulerOS-SA-2017-1050)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 850584
OpenVAS Name: SuSE Update for ruby2.1 openSUSE-SU-2017:1128-1 (ruby2.1)
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: 🔍
Timeline
02/12/2016 🔍06/14/2016 🔍
06/14/2016 🔍
01/06/2017 🔍
01/06/2017 🔍
01/07/2017 🔍
03/13/2017 🔍
05/01/2017 🔍
04/20/2025 🔍
Sources
Advisory: DLA 1421-1Researcher: Cisco
Organization: Cisco Talos
Status: Confirmed
CVE: CVE-2016-2339 (🔍)
GCVE (CVE): GCVE-0-2016-2339
GCVE (VulDB): GCVE-100-95057
SecurityFocus: 91234 - Ruby 'initialize()' Function Heap Buffer Overflow Vulnerability
OSVDB: - CVE-2016-2339 - Ruby - Heap Overflow Issue
See also: 🔍
Entry
Created: 01/07/2017 12:49Updated: 04/20/2025 04:06
Changes: 01/07/2017 12:49 (74), 07/15/2020 12:42 (8), 10/27/2022 17:02 (3), 04/20/2025 04:06 (17)
Complete: 🔍
Cache ID: 216:D5B:103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
No comments yet. Languages: en.
Please log in to comment.