Miggo Logo

CVE-2022-23623:
Validation bypass in frourio

8.1

CVSS Score
3.1

Basic Information

EPSS Score
0.57327%
Published
2/7/2022
Updated
7/13/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
frourionpm< 0.26.00.26.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from using Object.assign() to create validator class instances from request data. This approach fails to properly handle nested object structures and class-validator decorators' metadata requirements. The patched commit explicitly replaces these Object.assign() calls with class-transformer's plainToInstance() method, which properly handles nested validation through type transformation and metadata reflection. The affected code paths are found in multiple server configuration files ($server.ts) where request validation occurs.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

## 日本語 ### 影響 v*.**.*以前の*rourioを使用している、かつv*li**tors/を利用している場合、ネストされたバリデータがリクエストのボディーとクエリに対して正しく働かないケースがあります。また、リクエストに対してバリデーションが効かなくなる入力があります。 ### パッチ *rourioをv*.**.*かそれ以降のバージョンにアップデートをお願いします。*rourio を使用したプロジェクトには `*l*ss-tr*ns*orm*r` と `r**l**t-m*t

Reasoning

T** vuln*r**ility st*ms *rom usin* `O*j**t.*ssi*n()` to *r**t* v*li**tor *l*ss inst*n**s *rom r*qu*st **t*. T*is *ppro*** **ils to prop*rly **n*l* n*st** o*j**t stru*tur*s *n* `*l*ss-v*li**tor` ***or*tors' m*t***t* r*quir*m*nts. T** p*t**** *ommit *x