Miggo Logo

CVE-2023-49087: Validation of SignedInfo

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.42985%
Published
11/28/2023
Updated
12/6/2023
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
simplesamlphp/xml-securitycomposer= 1.6.111.6.12
simplesamlphp/saml2composer= 5.0.0-alpha.125.0.0-alpha.13

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the fact that validateReference() was called without being passed the canonicalized SignedInfo. Pre-patch, it directly retrieved SignedInfo from $this->signature (original DOM), while the signature verification used $signedInfo->canonicalize(). This created a discrepancy between the data used for hash validation (original) and cryptographic signature verification (canonicalized). The commit fixes this by constructing a new SignedInfo from the canonicalized data before passing it to validateReference, ensuring both validations operate on the same canonicalized content.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

V*li**tion o* *n XML Si*n*tur* r*quir*s v*ri*i**tion t**t t** **s* v*lu* o* t** r*l*t** XML-*o*um*nt (**t*r *ny option*l tr*ns*orm*tions *n*/or norm*liz*tions) m*t***s * sp**i*i* *i**stV*lu*-v*lu*, *ut *lso t**t t** *rypto*r**i* si*n*tur* on t** Si*n

Reasoning

T** vuln*r**ility st*ms *rom t** ***t t**t `v*li**t*R***r*n**()` w*s **ll** wit*out **in* p*ss** t** **noni**liz** Si*n**In*o. Pr*-p*t**, it *ir**tly r*tri*v** Si*n**In*o *rom `$t*is->si*n*tur*` (ori*in*l *OM), w*il* t** si*n*tur* v*ri*i**tion us** `