Command Injection in Nokogiri - CVE-2019-5477

 

Command Injection in Nokogiri - CVE-2019-5477

Published: August 16, 2019 / Updated: June 12, 2022


Vulnerability identifier: #VU32012
CSH Severity: High
CVSS v4: 9.3 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2019-5477
CWE-ID: CWE-77
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote non-authenticated attacker to execute arbitrary code.

A command injection vulnerability in Nokogiri v1.10.3 and earlier allows commands to be executed in a subprocess via Ruby's `Kernel.open` method. Processes are vulnerable only if the undocumented method `Nokogiri::CSS::Tokenizer#load_file` is being called with unsafe user input as the filename. This vulnerability appears in code generated by the Rexical gem versions v1.0.6 and earlier. Rexical is used by Nokogiri to generate lexical scanner code for parsing CSS queries. The underlying vulnerability was addressed in Rexical v1.0.7 and Nokogiri upgraded to this version of Rexical in Nokogiri v1.10.4.


Affected software

Nokogiri
Gentoo Linux
ruby-nokogiri (Alpine package)

How to mitigate CVE-2019-5477

Install update from vendor's website.

Nokogiri - update to 1.10.4
ruby-nokogiri (Alpine package) - update to 1.10.4-r0

External References

Related Security Bulletins