Update function does not work with __proto__ key

Author: olivercoadCreated Sep 7, 2026Updated Sep 7, 2026

What happened

A property-based test caught this edge case in my project and I traced the cause to Immutable Map update function.

How to reproduce

typescript
Map()
  .set("__proto__", "set")
  .update("__proto__", (u) => "updated")
  .get("__proto__") // expected: "updated", actual: "set"

https://immutable-js.com/play/#TWFwKCkKICAuc2V0KCJfX3Byb3RvX18iLCAic2V0IikKICAudXBkYXRlKCJfX3Byb3RvX18iLCAodSkgPT4gInVwZGF0ZWQiKQogIC5nZXQoIl9fcHJvdG9fXyIpIC8vIGV4cGVjdGVkOiAidXBkYXRlZCIsIGFjdHVhbDogInNldCIK

Source: immutable-js/immutable-js