Ruby 1.8.6-26/1.8.7/1.9.3/2.0.0 SSL Module lib/openssl/ssl.rb SSL.verify_certificate_identity subjectAltName cryptographic issue
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.9 | $0-$5k | 0.09 |
Summary
A vulnerability has been found in Ruby 1.8.6-26/1.8.7/1.9.3/2.0.0 and classified as critical. This issue affects the function OpenSSL::SSL.verify_certificate_identity in the library lib/openssl/ssl.rb of the component SSL Module. The manipulation of the argument subjectAltName with the input %00 as part of NULL Byte leads to cryptographic issue.
This vulnerability is traded as CVE-2013-4073. Furthermore, there is an exploit available.
The affected component should be upgraded.
Details
A vulnerability, which was classified as critical, has been found in Ruby 1.8.6-26/1.8.7/1.9.3/2.0.0 (Programming Language Software). This issue affects the function OpenSSL::SSL.verify_certificate_identity in the library lib/openssl/ssl.rb of the component SSL Module. The manipulation of the argument subjectAltName with the input value %00 leads to a cryptographic issue vulnerability. Using CWE to declare the problem leads to CWE-310. Impacted is confidentiality, and integrity. The summary by CVE is:
The OpenSSL::SSL.verify_certificate_identity function in lib/openssl/ssl.rb in Ruby 1.8 before 1.8.7-p374, 1.9 before 1.9.3-p448, and 2.0 before 2.0.0-p247 does not properly handle a \0 character in a domain name in the Subject Alternative Name field of an X.509 certificate, which allows man-in-the-middle attackers to spoof arbitrary SSL servers via a crafted certificate issued by a legitimate Certification Authority, a related issue to CVE-2009-2408.
The weakness was shared 06/27/2013 by William Snow Orvis (B.J.) as not defined advisory (Website). It is possible to read the advisory at ruby-lang.org. The identification of this vulnerability is CVE-2013-4073 since 06/09/2013. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. Technical details as well as a public exploit are known. The attack technique deployed by this issue is T1600 according to MITRE ATT&CK. The advisory points out:
OpenSSL::SSL.verify_certificate_identity implements RFC2818 Server Identity check for Ruby’s SSL client but it does not properly handle hostnames in the subjectAltName X509 extension that contain null bytes.
After immediately, there has been an exploit disclosed. It is declared as proof-of-concept. The vulnerability scanner Nessus provides a plugin with the ID 75082 (openSUSE Security Update : ruby19 (openSUSE-SU-2013:1181-1)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family SuSE Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 167213 (SUSE Enterprise Linux Security Update for ruby (SUSE-SU-2014:0843-1)).
Upgrading to version 1.8.7-p374, 1.9.3-p448 or 2.0.0-p247 eliminates this vulnerability. A possible mitigation has been published immediately after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (75082), SecurityFocus (BID 60843†), OSVDB (94628†) and Secunia (SA54011†). The entries VDB-10940 and VDB-146972 are related to this item. Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Product
Type
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.5VulDB Meta Temp Score: 5.9
VulDB Base Score: 6.5
VulDB Temp Score: 5.9
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: 🔍
NVD Base Score: 🔍
Exploiting
Class: Cryptographic issueCWE: CWE-310
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 75082
Nessus Name: openSUSE Security Update : ruby19 (openSUSE-SU-2013:1181-1)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
Nessus Port: 🔍
OpenVAS ID: 892738
OpenVAS Name: Debian Security Advisory DSA 2738-1 (ruby1.9.1 - several vulnerabilities
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: 🔍
Exploit Delay Time: 🔍
Upgrade: Ruby 1.8.7-p374/1.9.3-p448/2.0.0-p247
Timeline
06/09/2013 🔍06/27/2013 🔍
06/27/2013 🔍
06/27/2013 🔍
06/27/2013 🔍
06/28/2013 🔍
06/28/2013 🔍
08/17/2013 🔍
06/13/2014 🔍
04/27/2019 🔍
Sources
Advisory: ruby-lang.orgResearcher: William Snow Orvis (B.J.)
Status: Not defined
Confirmation: 🔍
CVE: CVE-2013-4073 (🔍)
GCVE (CVE): GCVE-0-2013-4073
GCVE (VulDB): GCVE-100-9299
OVAL: 🔍
IAVM: 🔍
SecurityFocus: 60843 - Ruby SSL Client Certificate Validation CVE-2013-4073 Security Bypass Vulnerability
Secunia: 54011 - Ruby SSL Client Certificate Verification Security Issue, Less Critical
OSVDB: 94628
See also: 🔍
Entry
Created: 06/28/2013 11:34Updated: 04/27/2019 12:05
Changes: 06/28/2013 11:34 (87), 04/27/2019 12:05 (4)
Complete: 🔍
Committer:
Cache ID: 216:4CB: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.