Multiple vulnerabilities in Ruby



Published: 2019-10-02 | Updated: 2019-11-27
Risk High
Patch available YES
Number of vulnerabilities 4
CVE-ID CVE-2019-16255
CVE-2019-16254
CVE-2019-16201
CVE-2019-15845
CWE-ID CWE-94
CWE-113
CWE-20
Exploitation vector Network
Public exploit N/A
Vulnerable software
Subscribe
Ruby
Universal components / Libraries / Scripting languages

Vendor Ruby

Security Bulletin

This security bulletin contains information about 4 vulnerabilities.

1) Code injection

EUVDB-ID: #VU23009

Risk: High

CVSSv3.1: 7.1 [CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C]

CVE-ID: CVE-2019-16255

CWE-ID: CWE-94 - Improper Control of Generation of Code ('Code Injection')

Exploit availability: No

Description

The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to improper input validation in lib/shell.rb in Ruby when processing Shell#[] and its alias Shell#test. A remote attacker can send a specially crafted request and execute arbitrary Ruby code on the target system.

Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Ruby: 1.6 - 2.6.4

External links

http://www.ruby-lang.org/en/news/2019/10/01/code-injection-shell-test-cve-2019-16255/
http://www.ruby-lang.org/ja/news/2019/10/01/ruby-2-4-8-released/
http://www.ruby-lang.org/ja/news/2019/10/01/ruby-2-5-7-released/
http://www.ruby-lang.org/ja/news/2019/10/01/ruby-2-6-5-released/
http://hackerone.com/reports/327512


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

2) HTTP Response Splitting

EUVDB-ID: #VU23008

Risk: Medium

CVSSv3.1: 5.7 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2019-16254

CWE-ID: CWE-113 - Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting')

Exploit availability: No

Description

The vulnerability allows a remote attacker to perform HTTP response splitting attack.

The vulnerability exists due to insufficient validation of CRLF sequences within the WEBrick in Ruby. A remote attacker can send a specially crafted request to the application and perform a spoofing attack.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Ruby: 1.6 - 2.6.4

External links

http://www.ruby-lang.org/en/news/2019/10/01/http-response-splitting-in-webrick-cve-2019-16254/
http://www.ruby-lang.org/ja/news/2019/10/01/ruby-2-4-8-released/
http://www.ruby-lang.org/ja/news/2019/10/01/ruby-2-5-7-released/
http://www.ruby-lang.org/ja/news/2019/10/01/ruby-2-6-5-released/
http://hackerone.com/reports/331984


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

3) Input validation error

EUVDB-ID: #VU23007

Risk: Medium

CVSSv3.1: 4.6 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L/E:U/RL:O/RC:C]

CVE-ID: CVE-2019-16201

CWE-ID: CWE-20 - Improper input validation

Exploit availability: No

Description

The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.

The vulnerability exists due to insufficient validation of user-supplied input within the WEBrick::HTTPAuth::DigestAuth in Ruby due to a regular expression issue. A remote attacker can send a specially crafted request to the application and perform a denial of service attack.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Ruby: 1.6 - 2.6.4

External links

http://hackerone.com/reports/661722
http://www.ruby-lang.org/en/news/2019/10/01/webrick-regexp-digestauth-dos-cve-2019-16201/


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.

4) Input validation error

EUVDB-ID: #VU23006

Risk: Medium

CVSSv3.1: 5.7 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2019-15845

CWE-ID: CWE-20 - Improper input validation

Exploit availability: No

Description

The vulnerability allows a remote attacker to bypass certain security restrictions.

The vulnerability exists in Ruby due to insufficient validation of user-supplied files within File.fnmatch and File.fnmatch? functions when processing NUL byte in the filename. A remote attacker can bypass implemented security restrictions and gain unauthorized access to the system.

Mitigation

Install updates from vendor's website.

Vulnerable software versions

Ruby: 1.6 - 2.6.4

External links

http://hackerone.com/reports/44961
http://www.ruby-lang.org/en/news/2019/10/01/ruby-2-4-8-released/
http://www.ruby-lang.org/en/news/2019/10/01/ruby-2-5-7-released/
http://www.ruby-lang.org/en/news/2019/10/01/ruby-2-6-5-released/
http://www.ruby-lang.org/en/news/2019/10/01/nul-injection-file-fnmatch-cve-2019-15845/


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.



###SIDEBAR###