Join our Newsletter — 33% off our NHI Course

How do attackers use serialised data external linking?

Attackers use externally linked content in serialised data to force a parser or application to fetch attacker-controlled resources during deserialisation or processing. That can expose internal network access, leak credentials, or trigger further injection paths. Defenders should block external entity resolution, restrict outbound requests from parsers, and reject untrusted serialised input where possible.

How serialised data can become a server-side fetch primitive

Serialised formats often let objects, references, or metadata point to external locations. During deserialisation or later processing, the application may follow those links automatically, turning a data parsing step into a network request. That matters because the parser is now acting on behalf of the application, with its internal network position, permissions, and trust boundary.

Common abuse patterns include XML external entities, remote schema or document references, and object graphs that resolve embedded URLs or file locations. The attacker does not need to break the parser itself; they need the application to accept a payload that causes a retrieval from a destination the attacker influences or observes.

That is why this class of issue is closely related to broader web application attack handling. The same defensive mindset used for serialisation flaws, XXE, SSRF, and request smuggling also applies here, especially when parsing code can touch internal services or metadata endpoints. Web Application Attacks Guide

What attackers gain from external linking during processing

The first payoff is reconnaissance. If the parser can reach internal hosts, cloud metadata endpoints, or administrative services, the attacker can learn what is reachable from inside the network and whether outbound filtering is weak. Even a failed lookup can reveal timing, DNS behaviour, or error handling that helps map the environment.

The second payoff is data exposure. A parser that follows an external reference may send credentials, session tokens, API keys, or other request metadata as part of the fetch, or it may reveal local file contents if the serialised format supports file references. In some cases the outbound request itself is enough to confirm access to a protected system and open a path to follow-on exploitation.

The third payoff is chaining. External linking can move a benign-looking parse into secondary injection, internal service abuse, or deserialisation gadget behaviour. Once the application has made an unsolicited request, the attacker may be able to pivot into further request forgery, credential theft, or service interaction that would not have been possible through the original input channel alone.

Why prevention is mostly about parser behaviour and trust boundaries

Defence starts with treating untrusted serialised input as data, not instructions. If the format supports external resolution, disable it by default, and only re-enable specific behaviours when there is a documented business need. Outbound network access from parsers should be restricted to the minimum destinations required for that use case, because broad egress permission turns a parsing bug into an internal reachability problem.

Where the format or library cannot be hardened enough, the safer decision is to reject untrusted serialised input entirely and use a simpler representation. That is especially important when the parser runs close to sensitive services, has access to secrets, or can reach internal administration planes. OWASP API Security Top 10 is a useful adjacent reference when serialised payloads are being accepted through API boundaries and the main concern is access control or unsafe consumption of inputs.

When the parser must process external references for legitimate reasons, the allowlist must be explicit and narrow. That means fixed schemes, fixed hosts, and predictable destinations, with no implicit trust in redirects, DNS rebinding, or embedded path manipulation. If the application cannot prove where a fetch will go before it happens, it should not perform that fetch.

Risk and Threat Considerations

External linking inside serialised data is dangerous because it can convert a passive parsing operation into an outbound request path that the attacker controls. The main risks are internal network exposure, credential leakage, and follow-on injection through trusted parser behaviour.

Failure mechanism: The application resolves an external reference during deserialisation or post-processing, allowing attacker-influenced content to trigger network access, metadata retrieval, or unintended downstream parsing.

Impact: Attackers can map internal services, exfiltrate sensitive material, abuse trust in the parser’s network position, and sometimes chain the interaction into broader server-side request forgery or injection paths.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP API Security Top 10 addresses the attack and risk surface, while OWASP ASVS and CIS Controls v8 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
OWASP ASVS V4 — API and Web Service Serialised input consumed via services needs strict request and object handling.
Recommendation — Validate service inputs and block unsafe object resolution in deserialisation paths.
OWASP API Security Top 10 API8 — Security Misconfiguration Parser resolution and outbound access become dangerous when service defaults are too permissive.
Recommendation — Harden service defaults so deserialisers cannot fetch attacker-controlled resources.
CIS Controls v8 CIS-4 — Secure Configuration of Enterprise Assets and Software Restricting parser features and outbound access is a secure configuration problem.
Recommendation — Disable unnecessary resolution features and enforce restrictive parser configurations.

Practitioner Guidance

What to verify: Test the exact parser path, not just the file format. Verify whether the library resolves URLs, follows redirects, dereferences schemas, or fetches remote entities under default settings, and confirm whether those behaviours change between environments.

What to prioritise: If a parser can reach internal services or cloud endpoints, treat outbound restriction as a containment control, not an optional hardening step. The most important judgement is whether that parser needs any network reachability at all; if it does not, remove it.

Common mistake: Teams often disable one obvious feature, such as XML external entities, but leave other resolution paths enabled through helper libraries, validation tooling, or error-handling code. That leaves the same attack pattern available through a different entry point.

Practitioner takeaway: The decisive control is not just “sanitize input”, it is whether the parser is allowed to make network decisions on behalf of untrusted data.