Executive brief
Evolver is an AI agent framework that includes a mailbox module for storing messages. A prototype pollution vulnerability in the mailbox store allows attackers with write access to the message persistence file to inject malicious properties that affect all JavaScript objects in the application, potentially enabling authentication bypass or logic manipulation.
Technical details
The vulnerability is a prototype pollution flaw (CWE-1321) in src/proxy/mailbox/store.js at lines 123 and 145. The _applyUpdate() and _updateRecord() functions use Object.assign() to merge fields read from the messages.jsonl persistence file without filtering dangerous prototype-polluting keys such as __proto__, constructor, or prototype. An attacker with write access to the messages.jsonl file can craft a malicious JSONL entry containing __proto__ as a field key to inject properties into Object.prototype, affecting all JavaScript objects. The attack requires file write access, achievable through file upload vulnerabilities, path traversal, compromised backups, or shared hosting. Once triggered, the polluted prototype can enable authentication bypass, authorization bypass, or application logic manipulation. The vulnerability is fixed in version 1.69.3.
Affected products
- EvoMap Evolver < 1.69.3
Timeline
- 2026-04-22: disclosed
- 2026-04-20: patched: Fix released in version 1.69.3