Vulnerability library
Security checkSeptember 02, 2026

Tiptap: mergeAttributes() turns an own __proto__ key into inherited executable DOM attributes

Understand the exposure, see the recommended fix, and check whether your own website has related weaknesses.

Medium severitynpm@tiptap/core

Check your website

Find this and other vulnerabilities with a free scan.

Your scan runs on your computer. No account required.

Description

@tiptap/core’s public mergeAttributes() helper uses ordinary bracket assignment on keys returned by Object.entries(). An own __proto__ key from JSON therefore invokes the legacy prototype setter on the fresh merged object. The function returns an object whose prototype is attacker-controlled, while Object.keys() and ordinary own-property checks show no attacker attributes.

Recommendation

Update the @tiptap/core package to the latest compatible version. Followings are version details:

  • Affected version(s): >= 2.0.0-alpha.0, < 3.30.4
  • Patched version(s): 3.30.4

References

Could your website be exposed too?

SmartScanner can check your website for Tiptap: mergeAttributes() turns an own __proto__ key into inherited executable DOM attributes and gives you actionable findings to investigate.

Start a free scan

Related Issues

See something that needs correcting? Let us knowUpdated September 02, 2026