Intel

AIKIDO-2026-694299

joi is vulnerable to Prototype Pollution

Prototype PollutionGHSA-gg4h-3hg2-grpc Published Aug 27, 2026

37

Low Risk

This Affects:

JSjoi
17.1.1 - 17.13.4
Fixed in 17.13.5
18.0.0 - 18.2.3
Fixed in 18.2.4
Are you affected? Scan for Free

TL;DR

joi's object().rename() supports regex patterns with template targets and the multiple option. Before the fix, an untrusted input key that matches the pattern can interpolate into a target such as __proto__, so the rename sets the prototype of the validated result object instead of creating a normal property. This allows prototype manipulation of the returned object when untrusted keys drive a template-based rename. The fix prevents rename from writing to prototype targets.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your schema uses object().rename() with a template target whose regex pattern matches untrusted input keys.

Background info

joi is vulnerable to Prototype Pollution in versions 17.1.1 - 17.13.4 and 18.0.0 - 18.2.3.

How to fix this

Upgrade the joi library to the patch version.

Are You Affected?

Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.

Free. No credit card required.

Aikido Platform