CVE-2019-5477: Command Injection
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#loadfile 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
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
rubygems/rexicalto a version that resolves this vulnerability.Fixed in 1.0.7 - Upgrade
Upgrade
rubygems/nokogirito a version that resolves this vulnerability.Fixed in 1.10.4 - Upgrade
Upgrade
debian/rexicalto a version that resolves this vulnerability.Fixed in 1.0.7-1Fixed in 1.0.7-2Fixed in 1.0.8-1 - Upgrade
Upgrade
debian/ruby-nokogirito a version that resolves this vulnerability.Fixed in 1.11.1+dfsg-2Fixed in 1.11.1+dfsg-2+deb11u1Fixed in 1.13.10+dfsg-2Fixed in 1.18.2+dfsg-1Fixed in 1.18.10+dfsg-3 - Upgrade
Upgrade
alpine/ruby-nokogirito a version that resolves this vulnerability.Fixed in 1.10.4-r0 - Upgrade
Upgrade
Nokogirito a version that resolves this vulnerability.Fixed in 1.10.4 - Upgrade
Upgrade
Rexicalto a version that resolves this vulnerability.Fixed in 1.0.7