All vulnerabilities
CVE-2026-90771GHSA-wr44-6hxh-3jwq

joi messages compilation allows prototype replacement through __proto__ error codes

hapijs joinpmLibraries & packages
CVSS
6.3Medium
ExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 16 Sep 2026. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)0.39%Chance of exploitation activity in the next 30 days, higher than 31% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in17.13.8Also 18.2.9GitHub
Published13 Sep 2026Updated 5 Oct 2026CVE List

What fixes it

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

joi before versions 17.13.8 and 18.2.9 contains a prototype pollution vulnerability in the messages compilation function that accepts __proto__ as an error code. Attackers can supply __proto__ keys in custom messages to replace the returned object's prototype, breaking downstream code relying on Object.prototype methods.

Text from CVE List

Affected versions 6

  • joi, npm< 17.13.8GitHub
  • joi, npm>= 18.0.0, < 18.2.9GitHub
  • joiaffected: 16.0.0 before 17.13.8CVE List
  • joiaffected: 18.0.0 before 18.2.9CVE List
  • joi, npmfrom first release, fixed in 17.13.8OSV
  • joi, npmfrom 18.0.0, fixed in 18.2.9OSV

References 12