Miggo Logo

CVE-2025-4727: Meteor Affected By Inefficient Regular Expression Complexity

3.7

CVSS Score
3.1

Basic Information

EPSS Score
0.33283%
Published
5/16/2025
Updated
5/16/2025
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
meteornpm<= 3.2.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability description explicitly mentions that the issue affects Object.assign in packages/ddp-server/livedata_server.js due to the manipulation of the forwardedFor argument leading to inefficient regular expression complexity. The provided commit f7ea6817b90952baaea9baace2a3b4366fee6a63 shows changes in this exact file. The diff in packages/ddp-server/livedata_server.js modifies how the forwardedFor string (obtained from self.socket.headers["x-forwarded-for"]) is processed. The line - forwardedFor = forwardedFor.trim().split(/\s*,\s*/); is replaced by + forwardedFor = forwardedFor.split(','); and a subsequent map operation for trimming. This change is within a block starting with Object.assign(Session.prototype, {, and the surrounding code indicates this is part of the _clientAddress method of the Session object. The removal of the regular expression (/\s*,\s*/) directly addresses the described vulnerability. Therefore, Session.prototype._clientAddress is the function that contained the vulnerable code.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

* vuln*r**ility w*s *oun* in M*t*or up to *.*.* *n* *l*ssi*i** *s pro*l*m*ti*. T*is issu* *****ts t** *un*tion O*j**t.*ssi*n o* t** *il* p**k***s/**p-s*rv*r/liv***t*_s*rv*r.js. T** m*nipul*tion o* t** *r*um*nt *orw*r****or l***s to in***i*i*nt r**ul*

Reasoning

T** vuln*r**ility **s*ription *xpli*itly m*ntions t**t t** issu* *****ts `O*j**t.*ssi*n` in `p**k***s/**p-s*rv*r/liv***t*_s*rv*r.js` *u* to t** m*nipul*tion o* t** `*orw*r****or` *r*um*nt l***in* to in***i*i*nt r**ul*r *xpr*ssion *ompl*xity. T** prov