TIMLEGGE Net::SAML2 up to 0.85 XML Signature Verification verify_xml cacert/cert_text/anchors certificate validation
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 3.6 | $0-$5k | 1.91+ |
Summary
A vulnerability was found in TIMLEGGE Net::SAML2 up to 0.85. It has been declared as problematic. This affects the function Net::SAML2::Role::VerifyXML::verify_xml of the component XML Signature Verification. Such manipulation of the argument cacert/cert_text/anchors leads to certificate validation.
This vulnerability is referenced as CVE-2026-18089. It is possible to launch the attack remotely. No exploit is available.
Details
A vulnerability, which was classified as problematic, has been found in TIMLEGGE Net::SAML2 up to 0.85. Affected by this issue is the function Net::SAML2::Role::VerifyXML::verify_xml of the component XML Signature Verification. The manipulation of the argument cacert/cert_text/anchors with an unknown input leads to a certificate validation vulnerability. Using CWE to declare the problem leads to CWE-295. The product does not validate, or incorrectly validates, a certificate. Impacted is integrity. CVE summarizes:
Net::SAML2 versions before 0.86 for Perl allow SAML authentication bypass by verifying responses against the response-embedded certificate in verify_xml when no trust anchor is configured. verify_xml in Net::SAML2::Role::VerifyXML runs "return if !$anchors && !$cacert;" as soon as the XML::Sig check succeeds, and that check uses the X.509 certificate taken from the response's own dsig:KeyInfo/dsig:X509Certificate element, so an unanchored response is checked only against the key it carries. Binding::POST declares cacert as an optional Maybe[Str] with no default, so a POST binding built without one takes that path, and _verify_encrypted_assertion returns early the same way with "return $xml unless $cacert;". Any caller that constructs Binding::POST or calls Assertion->new_from_xml without a cacert, cert_text, or anchors argument accepts a response signed by an attacker generated key whose self-signed certificate is embedded in that response, authenticating an arbitrary assertion.
The advisory is shared for download at metacpan.org. This vulnerability is handled as CVE-2026-18089 since 07/28/2026. The exploitation is known to be difficult. The attack may be launched remotely. No form of authentication is required for exploitation. There are known technical details, but no exploit is available. The MITRE ATT&CK project declares the attack technique as T1587.003.
Upgrading to version 0.86 eliminates this vulnerability.
The vulnerability is also documented in the vulnerability database at EUVD (EUVD-2026-52266). Once again VulDB remains the best source for vulnerability data.
Product
Vendor
Name
Version
- 0.1
- 0.2
- 0.3
- 0.4
- 0.5
- 0.6
- 0.7
- 0.8
- 0.9
- 0.10
- 0.11
- 0.12
- 0.13
- 0.14
- 0.15
- 0.16
- 0.17
- 0.18
- 0.19
- 0.20
- 0.21
- 0.22
- 0.23
- 0.24
- 0.25
- 0.26
- 0.27
- 0.28
- 0.29
- 0.30
- 0.31
- 0.32
- 0.33
- 0.34
- 0.35
- 0.36
- 0.37
- 0.38
- 0.39
- 0.40
- 0.41
- 0.42
- 0.43
- 0.44
- 0.45
- 0.46
- 0.47
- 0.48
- 0.49
- 0.50
- 0.51
- 0.52
- 0.53
- 0.54
- 0.55
- 0.56
- 0.57
- 0.58
- 0.59
- 0.60
- 0.61
- 0.62
- 0.63
- 0.64
- 0.65
- 0.66
- 0.67
- 0.68
- 0.69
- 0.70
- 0.71
- 0.72
- 0.73
- 0.74
- 0.75
- 0.76
- 0.77
- 0.78
- 0.79
- 0.80
- 0.81
- 0.82
- 0.83
- 0.84
- 0.85
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 3.7VulDB Meta Temp Score: 3.6
VulDB Base Score: 3.7
VulDB Temp Score: 3.6
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Certificate validationCWE: CWE-295 / CWE-287
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Net::SAML2 0.86
Timeline
07/28/2026 CVE reserved08/03/2026 Advisory disclosed
08/03/2026 VulDB entry created
08/03/2026 VulDB entry last update
Sources
Advisory: metacpan.orgStatus: Confirmed
CVE: CVE-2026-18089 (🔒)
GCVE (CVE): GCVE-0-2026-18089
GCVE (VulDB): GCVE-100-385580
EUVD: 🔒
Entry
Created: 08/03/2026 15:55Updated: 08/03/2026 18:47
Changes: 08/03/2026 15:55 (56), 08/03/2026 18:47 (1)
Complete: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.