Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') Affecting openclaw package, versions <2026.4.5-r0


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-MINIMOSLATEST-OPENCLAW-15960271
  • published10 Apr 2026
  • disclosed6 Apr 2026

Introduced: 6 Apr 2026

NewCVE-2026-35209  (opens in a new tab)
CWE-1321  (opens in a new tab)

How to fix?

Upgrade Minimos:latest openclaw to version 2026.4.5-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream openclaw package and not the openclaw package as distributed by Minimos. See How to fix? for Minimos:latest relevant fixed versions and status.

defu is software that allows uers to assign default properties recursively. Prior to version 6.1.5, applications that pass unsanitized user input (e.g. parsed JSON request bodies, database records, or config files from untrusted sources) as the first argument to defu() are vulnerable to prototype pollution. A crafted payload containing a __proto__ key can override intended default values in the merged resul. The internal _defu function used Object.assign({}, defaults) to copy the defaults object. Object.assign invokes the __proto__ setter, which replaces the resulting object's [[Prototype]] with attacker-controlled values. Properties inherited from the polluted prototype then bypass the existing __proto__ key guard in the for...in loop and land in the final result. Version 6.1.5 replaces Object.assign({}, defaults) with object spread ({ ...defaults }), which uses [[DefineOwnProperty]] and does not invoke the __proto__ setter.