Description
In jpv (aka Json Pattern Validator) before 2.1.1, compareCommon() can be bypassed because certain internal attributes can be overwritten via a conflicting name, as demonstrated by 'constructor': {'name':'Array'}. This affects validate(). Hence, a crafted payload can overwrite this builtin attribute to manipulate the type detection result.
Remediation
References
https://github.com/manvel-khnkoyan/jpv/issues/6
https://www.npmjs.com/package/jpv
Related Vulnerabilities
CVE-2017-16138 Vulnerability in maven package org.webjars:mime
CVE-2021-21353 Vulnerability in npm package pug
CVE-2022-31147 Vulnerability in npm package jquery-validation
CVE-2023-36477 Vulnerability in maven package org.xwiki.platform:xwiki-platform-ckeditor-ui
CVE-2023-47320 Vulnerability in maven package org.silverpeas.core:silverpeas-core-web