The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • AI Data Pipelines
      Security Data Pipeline for AI SIEM and Data Optimization
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-33544

CVE-2026-33544: Tinyauth Race Condition Vulnerability

CVE-2026-33544 is a race condition flaw in Tinyauth that causes users to receive sessions with another user's identity during concurrent OAuth logins. This post covers technical details, affected versions, and mitigation.

Published: April 2, 2026

CVE-2026-33544 Overview

CVE-2026-33544 is a race condition vulnerability in Tinyauth, an authentication and authorization server. Prior to version 5.0.5, all three OAuth service implementations (GenericOAuthService, GithubOAuthService, GoogleOAuthService) store PKCE verifiers and access tokens as mutable struct fields on singleton instances shared across all concurrent requests. When two users initiate OAuth login for the same provider concurrently, a race condition between VerifyCode() and Userinfo() causes one user to receive a session with the other user's identity, enabling account takeover.

Critical Impact

This vulnerability allows attackers to hijack user sessions during concurrent OAuth login flows, potentially gaining unauthorized access to another user's authenticated session and identity.

Affected Products

  • Tinyauth versions prior to 5.0.5
  • All OAuth provider integrations (Generic OAuth, GitHub OAuth, Google OAuth)
  • Deployments with concurrent user authentication activity

Discovery Timeline

  • 2026-04-02 - CVE-2026-33544 published to NVD
  • 2026-04-02 - Last updated in NVD database

Technical Details for CVE-2026-33544

Vulnerability Analysis

This vulnerability represents a classic race condition flaw (CWE-362) in the OAuth authentication flow. The core issue stems from the use of singleton service instances that store mutable state (PKCE verifiers and access tokens) as struct fields rather than per-request isolated storage.

In a typical OAuth flow, the PKCE (Proof Key for Code Exchange) verifier is generated during the authorization request and must be securely associated with the specific user session that initiated it. The access token obtained after successful code verification must similarly remain bound to the correct user context.

When these values are stored as mutable fields on a shared singleton instance, concurrent OAuth login requests from different users can overwrite each other's state. This creates a Time-of-Check Time-of-Use (TOCTOU) window where:

  1. User A initiates OAuth login, storing their PKCE verifier in the singleton
  2. User B initiates OAuth login for the same provider, overwriting User A's verifier
  3. User A's VerifyCode() completes but now uses User B's verifier context
  4. User A receives a session authenticated as User B

The attack requires no special privileges and can occur naturally in multi-user environments with moderate concurrent authentication activity.

Root Cause

The root cause is improper state management in the OAuth service implementations. By storing request-specific authentication state (PKCE verifiers and access tokens) as mutable struct fields on singleton service instances shared across all requests, the application violates the principle of request isolation. Each authentication flow should maintain its own isolated state context to prevent cross-request contamination.

Attack Vector

The attack vector is network-based and requires two conditions to be met: the attacker must be a low-privileged user capable of initiating OAuth authentication, and there must be a concurrent OAuth login attempt from another user targeting the same provider. The race condition occurs during the OAuth callback processing between the VerifyCode() and Userinfo() function calls. While the attack requires some user interaction and has high complexity due to the timing-dependent nature, successful exploitation results in complete identity takeover with high confidentiality and integrity impact.

The following patch demonstrates how the fix introduces session-based OAuth state isolation:

go
 type BootstrapApp struct {
 	config  config.Config
 	context struct {
-		appUrl              string
-		uuid                string
-		cookieDomain        string
-		sessionCookieName   string
-		csrfCookieName      string
-		redirectCookieName  string
-		users               []config.User
-		oauthProviders      map[string]config.OAuthServiceConfig
-		configuredProviders []controller.Provider
-		oidcClients         []config.OIDCClientConfig
+		appUrl                 string
+		uuid                   string
+		cookieDomain           string
+		sessionCookieName      string
+		csrfCookieName         string
+		redirectCookieName     string
+		oauthSessionCookieName string
+		users                  []config.User
+		oauthProviders         map[string]config.OAuthServiceConfig
+		configuredProviders    []controller.Provider
+		oidcClients            []config.OIDCClientConfig
 	}
 	services Services
 }

Source: GitHub Commit f26c217

The patch adds a dedicated oauthSessionCookieName field to properly isolate OAuth flow state per session rather than sharing state across the singleton instance.

Detection Methods for CVE-2026-33544

Indicators of Compromise

  • Unexpected session authentication events where users report being logged in as different users
  • Authentication logs showing concurrent OAuth callbacks for the same provider with session assignment anomalies
  • User complaints of account access by unauthorized parties following OAuth login attempts
  • Audit trails indicating identity mismatches between OAuth provider responses and resulting session ownership

Detection Strategies

  • Implement correlation monitoring between OAuth callback timestamps and session creation events to identify timing anomalies
  • Monitor for multiple concurrent OAuth authorization requests to the same provider within short time windows
  • Enable verbose logging on OAuth service components to capture PKCE verifier and token state transitions
  • Deploy SentinelOne Singularity for real-time detection of unauthorized session access patterns and identity anomalies

Monitoring Recommendations

  • Enable detailed audit logging for all OAuth authentication flows including PKCE verifier generation and verification
  • Implement alerting on session assignment events where the authenticated identity differs from the initiating request context
  • Monitor application logs for concurrent OAuth callback processing events within race condition time windows
  • Track user session authentication patterns to identify anomalous identity switching behavior

How to Mitigate CVE-2026-33544

Immediate Actions Required

  • Upgrade Tinyauth to version 5.0.5 or later immediately
  • Review authentication logs for any evidence of session hijacking during concurrent OAuth flows
  • Force re-authentication for all active sessions to ensure proper identity binding
  • Notify users who performed OAuth login during periods of high concurrent activity to verify account integrity

Patch Information

The vulnerability has been patched in Tinyauth version 5.0.5. The fix refactors the OAuth flow to use session-based state storage rather than singleton mutable fields, ensuring proper isolation of PKCE verifiers and access tokens between concurrent requests. The patch commit can be reviewed at the GitHub Commit and the release is available at Tinyauth v5.0.5. For detailed technical analysis, refer to the GitHub Security Advisory GHSA-9q5m-jfc4-wc92.

Workarounds

  • Temporarily disable OAuth authentication providers and use alternative authentication methods until patching is complete
  • Implement request rate limiting on OAuth callback endpoints to reduce concurrent processing likelihood
  • Deploy authentication behind a load balancer configured to serialize OAuth callback requests per provider
  • Enable user session validation requiring re-verification of identity after OAuth completion
bash
# Configuration example - Disable OAuth providers temporarily until patched
# In Tinyauth configuration file, disable OAuth providers:
# oauth:
#   enabled: false
#   providers: []

# Alternatively, implement rate limiting at reverse proxy level
# nginx configuration example:
limit_req_zone $binary_remote_addr zone=oauth_limit:10m rate=1r/s;

location /api/oauth/callback {
    limit_req zone=oauth_limit burst=1 nodelay;
    proxy_pass http://tinyauth_backend;
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeRace Condition

  • Vendor/TechTinyauth

  • SeverityHIGH

  • CVSS Score7.7

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N
  • Impact Assessment
  • ConfidentialityHigh
  • IntegrityHigh
  • AvailabilityNone
  • CWE References
  • CWE-362
  • Technical References
  • GitHub Commit Update

  • GitHub Release v5.0.5

  • GitHub Security Advisory GHSA-9q5m-jfc4-wc92
  • Related CVEs
  • CVE-2026-32245: Tinyauth Auth Bypass Vulnerability

  • CVE-2026-32246: Tinyauth OIDC Auth Bypass Vulnerability
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English