Skip to content
vetkitChecksChangelogDocumentation

vetkit.ruby.xxe.entity-substitution

XML is parsed with entity substitution or external DTD loading enabled (NOENT / DTDLOAD). Untrusted XML can then read local files or reach internal hosts (XXE).

Last updated:

Suite: Security

ruby

XML is parsed with entity substitution or external DTD loading enabled (NOENT / DTDLOAD). Untrusted XML can then read local files or reach internal hosts (XXE).

Category: SECURITY · Engine rule severity: WARNING

How to fix it

Parse untrusted XML with Nokogiri's defaults (no noent / dtdload) and keep LibXML default_substitute_entities off.

References

Source: packages/engine/rules/sast/ruby.yml.

Generated from shipped rule definitions at build time. Matching is a review signal, not proof of exploitability. “generic” denotes text matching, not complete language or framework coverage. Runtime configuration and available tools affect whether a rule runs.