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.
github.com/rubysec/ruby-advisory-db/blob/master/gems/nokogiri/CVE-2019-5477.yml
github.com/rubysec/ruby-advisory-db/blob/master/gems/rexical/CVE-2019-5477.yml
github.com/sparklemotion/nokogiri
github.com/sparklemotion/nokogiri/commit/5d30128343573a9428c86efc758ba2c66e9f12dc
github.com/sparklemotion/nokogiri/issues/1915
github.com/tenderlove/rexical/blob/master/CHANGELOG.rdoc
github.com/tenderlove/rexical/commit/a652474dbc66be350055db3e8f9b3a7b3fd75926
hackerone.com/reports/650835
lists.debian.org/debian-lts-announce/2019/09/msg00027.html
lists.debian.org/debian-lts-announce/2022/10/msg00018.html
lists.debian.org/debian-lts-announce/2022/10/msg00019.html
nvd.nist.gov/vuln/detail/CVE-2019-5477
security.gentoo.org/glsa/202006-05
usn.ubuntu.com/4175-1