Advisory Database
  • Advisories
  • Dependency Scanning
  1. composer
  2. ›
  3. onelogin/php-saml
  4. ›
  5. GHSA-9wrw-p9rm-r782

GHSA-9wrw-p9rm-r782: onelogin/php-saml Improper signature validation on LogoutRequest/LogoutResponse.

May 17, 2024

In order to verify Signatures on Logoutrequests and LogoutResponses we use the verifySignature of the class XMLSecurityKey from the xmlseclibs library. That method end up calling openssl_verify() depending on the signature algorithm used.

The openssl_verify() function returns 1 when the signature was successfully verified, 0 if it failed to verify with the given key, and -1 in case an error occurs. PHP allows translating numerical values to boolean implicitly, with the following correspondences:

  • 0 equals false.
  • Non-zero equals true.

This means that an implicit conversion to boolean of the values returned by openssl_verify() will convert an error state, signaled by the value -1, to a successful verification of the signature (represented by the boolean true).

The LogoutRequest/LogoutResponse signature validator was performing an implicit conversion to boolean of the values returned by the verify() method, which subsequently will return the same output as openssl_verify() under most circumstances. This means an error during signature verification is treated as a successful verification by the method.

Since the signature validation of SAMLResponses were not affected, the impact of this security vulnerability is lower, but an update of the php-saml toolkit is recommended.

References

  • github.com/FriendsOfPHP/security-advisories/blob/master/onelogin/php-saml/2017-02-28.yaml
  • github.com/SAML-Toolkits/php-saml
  • github.com/advisories/GHSA-9wrw-p9rm-r782
  • github.com/onelogin/php-saml/commit/949359f5cad5e1d085c4e5447d9aa8f49a6e82a1

Code Behaviors & Features

Detect and mitigate GHSA-9wrw-p9rm-r782 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 2.10.4

Fixed versions

  • 2.10.4

Solution

Upgrade to version 2.10.4 or above.

Source file

packagist/onelogin/php-saml/GHSA-9wrw-p9rm-r782.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 14 May 2025 12:14:38 +0000.