Loading...
Skip to main content

CVE-2026-33942 — Saloon has insecure deserialization in...

HIGH

Saloon has insecure deserialization in AccessTokenAuthenticator

Published March 27, 2026Updated March 27, 2026Source: osv

Summary

### Impact Users of the OAuth2 utilities in Saloon, specifically the `AccessTokenAuthenticator` class. ### Patches Upgrade to Saloon v4+ Upgrade guide: https://docs.saloon.dev/upgrade/upgrading-from-v3-to-v4 ### Description The Saloon PHP library 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 removes PHP serialization from the AccessTokenAuthenticator class requiring users to store and resolve the authenticator manually. ### Credits Saloon thanks @HuajiHD for finding the issue and recommending solutions and @jonpurvis for applying the fix.

Advisory Timeline

  • First published March 27, 2026 (199 days ago).
  • Last revised March 27, 2026 — 0 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Composer
Update saloonphp/saloon to 4.0.0 or later
composer require "saloonphp/saloon:^4.0.0"

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: packagist (1).

PackageEcosystemAffectedFixed In
saloonphp/saloon
packagist
v0.0.2, v0.0.3, v0.0.4, v0.1.0 (+125 more)4.0.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-502
    Deserialization of Untrusted DataMITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.8 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:U

Frequently Asked Questions

What is CVE-2026-33942?
Saloon has insecure deserialization in AccessTokenAuthenticator This vulnerability has been assigned a severity rating of HIGH (CVSS score: 9.8/10).
How do I check if my project is affected by CVE-2026-33942?
CVE-2026-33942 affects saloonphp/saloon. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-33942 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.8

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-rf88-776r-rcq9

Related CVEs

  • CVE-2026-65954
    HIGH

    PHPCSUtils: Remote code execution via eval() in AbstractArrayDeclarationSniff::getActualArrayKey()

  • CVE-2026-61825
    HIGH

    code16/sharp has a stored XSS via data-html-content Sanitizer Bypass

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies