Safeguard
Application Security•

CWE-447 Unimplemented or Unsupported Feature in UI

A security option that looks supported in the UI but does nothing underneath. CWE-447 explained with router, browser and GUI tool examples.

Safeguard Security Team
2 min read

CWE-447 is a security control that exists only on the surface. A UI function for a security feature appears to be supported and gives feedback suggesting it works, but the underlying functionality is not implemented.

Unlike a broken feature, this one looks fine. That is what makes it dangerous.

How it happens

A common path is that the interface and the engine evolve separately. A checkbox or a command keyword is added to the front end, and the matching logic never ships, or ships for some configurations only. The observed examples in MITRE show it clearly:

  • CVE-2000-0127: a GUI configuration tool did not enable a security option when a checkbox was selected, although the option was honored when set manually in the configuration file.
  • CVE-2001-0863 and CVE-2001-0865: a router did not implement a specific keyword when it was used in an ACL, allowing filter bypass.
  • CVE-2004-0979: a web browser did not properly change a security setting when the user set it.

What an attacker gains

MITRE lists the consequences as varying by context and an unexpected state. In the router cases, that meant traffic the administrator believed was filtered passed through anyway.

How to find it

The record lists no detection methods, but its mitigation points to the answer: test. For every security option in the UI, run a test that turns it on and then proves the behavior changed. For ACL or firewall rules, send traffic that should be blocked.

How to fix it

From the MITRE entry:

  1. Perform functionality testing before deploying the application.

Add to that, as common sense:

  1. Do not ship a UI control until the feature behind it works.
  2. If a feature is not supported in some mode, disable or label the control, so people are not misled.
  3. Have the UI read the live setting back after saving.

Quick check

How would you catch a checkbox that does nothing?

Write a test that enables it and then checks the system's behavior, such as blocked traffic or an encrypted connection, not just the saved value.

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.