Skip to main content

sokol CVE-2025-15155

LOW
Buffer Overflow (CWE-119)
2025-12-28 cna@vuldb.com
1.9
CVSS 4.0 · Vendor: vuldb
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Local access
  2. Delivery
    Craft malicious shader descriptor with negative buffer_index
  3. Exploit
    Call _sg_pipeline_desc_defaults
  4. Execution
    Stack buffer overflow
  5. Persist
    Memory corruption
  6. Impact
    Potential code execution

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, buffer size validation
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must have local access to the system and be able to provide a shader pipeline descriptor with a negative buffer_index to an application using the sokol library. The application must call the vulnerable function with attacker-controlled input. No special network conditions are required; the attack is local (AV:L) with low privileges (PR:L) and no user interaction (UI:N). Exploitation is limited by the need for local execution and the application's processing of untrusted descriptors.

Impact

The CVSS 4.0 base score is 1.9 (low), reflecting the local attack vector and low privileges required. EPSS at 0.03% indicates minimal exploitation probability in the wild. The exploit is publicly available (POC), but no CISA KEV listing exists, suggesting low real-world risk. The SSVC decision would likely be 'low' exploitation status, 'automatable' only if the application processes untrusted shader descriptors, and 'medium' technical impact due to potential memory corruption.

Exploit ScenarioDerived

A local attacker with low privileges on a system runs an application that uses the sokol library and accepts a custom shader pipeline descriptor (e.g., via a configuration file or user input). The attacker supplies a descriptor with a negative buffer_index, triggering the buffer overflow in _sg_pipeline_desc_defaults, potentially leading to memory corruption and arbitrary code execution at the application's privilege level. Public exploit code is available.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 27, 2026

Stack-based buffer overflow in the sokol graphics library's pipeline descriptor defaults function allows a local attacker with low privileges to trigger memory corruption. The vulnerability affects all versions up to commit 16cbcc864012898793cd2bc57f802499a264ea40, and a public exploit is available, though active exploitation has not been confirmed by CISA KEV.

RemediationAI

Apply the patch commit 5d11344150973f15e16d3ec4ee7550a73fb995e0 by updating the sokol library to the latest commit from the repository (https://github.com/floooh/sokol). The patch adds a lower-bound assertion to buffer_index, causing an abort if the index is negative. There is no workaround other than avoiding exposure to untrusted shader pipeline descriptors; applications that only use hardcoded or trusted shaders are not affected.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in _sg_pipeline_desc_defaults within sokol_gfx.h, a component of sokol, a single-header cross-platform graphics library. The function copies default pipeline state and uses SOKOL_ASSERT to validate buffer_index against SG_MAX_VERTEXBUFFER_BINDSLOTS but lacks a lower-bound check, allowing a negative index to pass and cause a stack buffer overflow (CWE-119). The attack is local (AV:L) and requires low privileges (PR:L).

Know when Sokol gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vuldb) PRIMARY 1.9 LOW
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 5.3 MEDIUM

Local attack, low privileges, limited impact

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (vuldb).

CVSS VectorVendor: vuldb

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A vulnerability was detected in floooh sokol up to 16cbcc864012898793cd2bc57f802499a264ea40. The impacted element is the function _sg_pipeline_desc_defaults in the library sokol_gfx.h. The manipulation results in stack-based buffer overflow. The attack requires a local approach. The exploit is now public and may be used. This product does not use versioning. This is why information about affected and unaffected releases are unavailable. The patch is identified as 5d11344150973f15e16d3ec4ee7550a73fb995e0. It is advisable to implement a patch to correct this issue.

Threat Intelligence Overview

EPSS Score
0.0%
Top 93% exploitable
Prevalence
Low
Niche single-header graphics library
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Low

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Affected Products (CPE)CVE.org

cpe:2.3:a:floooh:sokol:*:*:*:*:*:*:*:*

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy