FixVibe

// 探测 / 聚焦

XML External Entity (XXE)

If your XML parser resolves external entities, your server reads files for the attacker.

概要

XXE is the bug that won't die. XML standards predate the modern internet's threat model, and that lineage shows in the defaults: most XML parsers across most languages happily resolve external entities unless you explicitly tell them not to. Modern app developers don't write XML, but their dependencies do — SAML SSO flows, SOAP integrations, SVG image processing, OOXML and ODF document parsers, RSS importers, and a long tail of legacy enterprise integrations. The bug returns each time someone wires a parser into a new code path without remembering to disable DOCTYPE processing. The fix is one config line. The exploitation is one curl command.

運作方式

XXE issues appear when XML parsers accept untrusted external entity behavior. Depending on parser configuration, this can expose internal files, metadata services, or internal network endpoints.

影響范圍

Local file read at the privilege of the web server process — application config, secrets files, source code, /etc/passwd, environment variables. SSRF into the cloud metadata service hands over IAM credentials. DoS via billion-laughs trivially knocks the parser process over. On parsers that support PHP filter wrappers or expect://, the bug grades up to remote code execution. SAML and SOAP integrations are particularly painful because the XXE vector lives in the trusted authentication path.

// fixvibe 檢查的內容

FixVibe 檢查的內容

FixVibe checks this class with verified-domain active testing that is bounded, non-destructive, and evidence-driven. Public reports describe the affected surface and remediation. For check-specific questions about exact detection heuristics, active payload details, or source-code rule patterns, contact support@fixvibe.app.

铁壁防御

Disable external entity resolution at the parser level. Every major XML parser has the flag: in Java, `factory.setFeature('http://apache.org/xml/features/disallow-doctype-decl', true)`; in libxml-based parsers, `XML_PARSE_NOENT` set to false plus `XML_PARSE_NONET`; in Python's lxml, use `defusedxml` instead of the stdlib parser; in .NET, `XmlReaderSettings { DtdProcessing = DtdProcessing.Prohibit }`. Better still, use JSON wherever you have the choice — most modern apps don't actually need XML, they inherited it from a legacy integration. For SAML and SOAP, use a battle-tested library that already has XXE defenses baked in (don't roll your own XML parsing for these). As a defense-in-depth layer, restrict the parser process's network egress and filesystem access — XXE that can only reach the public internet is significantly less useful to an attacker than XXE with metadata-service access.

// 在你自己的應用上跑一遍

放心继續發布,FixVibe 持續幫你看守風险。

FixVibe 像攻击者一樣對你的應用公開面进行压力测試 —— 无代理、无安裝、无信用卡。我們持續研究新的漏洞模式,并把它們转化成实用检查和可直接用于 Cursor、Claude、Copilot 的修複方案。

主動探測
127
本類别中触發的测試
模塊
48
專属 主動探測 检查
每次扫描
487+
跨所有類别的测試
  • 免费 —— 无需信用卡,无需安裝,无需 Slack 通知
  • 只需粘贴 URL —— 我們爬取、探测、生成報告
  • 按严重程度分级,去重至只剩信號
  • AI-ready prompts where code applies, plus operator steps for DNS/provider fixes
運行免费扫描

// 最新检查 · 实用修複 · 安心發布

XML External Entity (XXE) — 漏洞聚焦 | FixVibe · FixVibe