Packages

ata-validator

1.61.3 · 29 Oct 2026MIT21.8k / weekRepositoryHomepagenpmAtom feed

Your version

1.27.1

17 Sep 2026Where it was published

1.61.3 is the newest release of 1.x.

In short

1 security2 fixed

  • security

    Security patch.

Release note

Security patch. Update if you use useDefaults (on by default) with schemas you did not write.

Fixed

  • A schema declaring a property named __proto__ with nested defaults wrote those defaults onto Object.prototype, for every object in the process, on both engines, regardless of the input. The defaults machinery is now prototype-safe end to end: a default fills a property that is an own key or absent (Object.hasOwn, not in, so a property named constructor also receives its default now), the nested applier refuses to walk a parent the instance does not carry as an own key, and fills of a property named __proto__ go through Object.defineProperty, because plain assignment of that name rewrites the object's prototype instead of creating a property. Type coercion skips that name for the same reason; the raw value still goes through validation. Reported with the initial fix

  • The AOT parse() emitter received the same hardening (computed keys, Object.hasOwn presence checks, defineProperty for the one dangerous name), and its record loop, whose keys come from the input, now keeps a JSON-parsed own __proto__ key as an own key in the output instead of silently rewriting the output's prototype.