CVE-2023-26135:
flatnest Prototype Pollution vulnerability
7.3
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.23591%
CWE
Published
6/30/2023
Updated
2/7/2024
KEV Status
No
Technology
JavaScript
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
flatnest | npm | <= 1.0.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the insert() helper function in nest.js, which handles path traversal during object nesting. The pre-patch code lacked checks for prototype-pollution vectors:
- No validation against 'proto' key assignments
- No protection against 'constructor' property modifications
This is confirmed by:
- The GitHub commit adding 'if (key === "proto") continue' and 'if (key === "constructor"...' guards
- Test cases demonstrating pollution via these vectors
- Multiple advisories explicitly citing nest.js as the vulnerable file
- The vulnerability manifests when processing attacker-controlled keys through insert() during nest() operations