CVE-2023-49087: Validation of SignedInfo
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.42985%
CWE
Published
11/28/2023
Updated
12/6/2023
KEV Status
No
Technology
PHP
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| simplesamlphp/xml-security | composer | = 1.6.11 | 1.6.12 |
| simplesamlphp/saml2 | composer | = 5.0.0-alpha.12 | 5.0.0-alpha.13 |
Vulnerability Intelligence
Miggo AI
Root 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.