Safeguard
Application Security•

CWE-437 Incomplete Model of Endpoint Features: Explained

A firewall, IDS or proxy that does not know how the real endpoint behaves can be fooled. Here is how CWE-437 happens and how to design around it.

Safeguard Security Team
3 min read

CWE-437, Incomplete Model of Endpoint Features, describes a product that sits between two or more endpoints and watches or relays their traffic, but does not fully understand how those endpoints behave. Because its mental picture is wrong, it takes the wrong action.

This hits anything that acts as a middleman: intrusion detection systems, web proxies, mail scanners, application firewalls and load balancers.

How it happens

The intermediary has to guess how the endpoint will interpret each byte. When the guess differs from reality, an attacker can send something the middleman reads one way and the endpoint reads another.

MITRE gives two examples. HTTP request smuggling works because a proxy expects the client to parse headers one way while the client parses them differently. And an antivirus product on a mail server may treat an attachment type as safe, not knowing the mail client is configured to treat it as executable.

A recent observed case is CVE-2024-55629: a network-based IDS did not model how TCP endpoints handle TCP urgent data, so attackers could bypass detection.

What an attacker gains

MITRE lists the consequences as integrity impact, an unexpected state, and effects that vary by context. In practice the common prize is evasion. Traffic that should have been blocked or flagged passes through, because the control looked at a different version of the message than the one the endpoint acted on.

How to find it

The record lists no specific detection methods, so this is a design review question. For each intermediary you run, ask which endpoint behaviors it must replicate. Then test it against odd inputs: duplicate headers, unusual flags, overlapping fragments, unexpected encodings. Compare what the middlebox logs with what the endpoint actually did.

How to fix it

MITRE lists no formal mitigations for this entry. These steps follow from the weakness itself:

  1. Document the endpoints behind each intermediary, including their versions and configuration.
  2. Normalize or reject ambiguous messages at the middlebox instead of passing them on.
  3. Keep the middlebox and the endpoints on compatible, current protocol versions.
  4. Do not treat one inspection layer as the only control. Enforce important rules at the endpoint too.

Quick check

Why can a mail scanner miss a dangerous attachment?

It may not know how the recipient's mail client handles that file type. If the client treats it as executable and the scanner treats it as safe, the scanner's model of the endpoint is incomplete.

Sources

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.