Executive brief
The a2ui web framework's message processor fails to validate incoming message envelopes and component types before storing them in the components model. This allows an attacker to inject arbitrary, unvalidated properties into the application's component state, creating a defense-in-depth gap that could be exploited by future consumers of the components model or in combination with other vulnerabilities.
Technical details
The vulnerability is an improper input validation issue (CWE-20) in the message-processor.ts file of a2ui's v0.9 processing logic. The processMessages function skips envelope schema validation that was present in the v0.8 model and accepts component types not defined in any catalog without validation, yet still commits them to the components model and triggers onCreated events. An attacker can remotely send crafted message payloads with arbitrary properties to inject unvalidated data. While current renderers do not directly exploit this, the unvalidated properties persist in the component model and are available to any downstream consumer, creating a significant attack surface for privilege escalation or data injection attacks.
Affected products
- a2ui-project a2ui up to 0.10.6
Timeline
- 2026-08-17: disclosed: Issue reported to a2ui-project as bug #2297
- 2026-09-16: advisory: CVE-2026-92217 published