Skip to main content
← All vulnerabilities
CVE-2026-33942GHSA-RF88-776R-RCQ9

Saloon has insecure deserialization in AccessTokenAuthenticator (object injection / RCE)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.0.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: total

Summary

Saloon is a PHP library that gives users tools to build API integrations and SDKs. Versions prior to 4.0.0 used PHP's unserialize() in AccessTokenAuthenticator::unserialize() to restore OAuth token state from cache or storage, with allowed_classes => true. An attacker who can control the serialized string (e.g. by overwriting a cached token file or via another injection) can supply a serialized "gadget" object. When unserialize() runs, PHP instantiates that object and runs its magic methods (wakeup, destruct, etc.), leading to object injection. In environments with common dependencies (e.g. Monolog), this can be chained to remote code execution (RCE). The fix in version 4.0.0 removes PHP serialization from the AccessTokenAuthenticator class requiring users to store and resolve the authenticator manually.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • saloonphp saloon

    fixed in 4.0.0

  • saloonphp/saloonPackagist

    fixed in 4.0.0

References 2

GitHub · saloonphp/saloon

docs.saloon.dev