Skip to main content

imgaug CVE-2026-31235

| EUVDEUVD-2026-29558 CRITICAL
Deserialization of Untrusted Data (CWE-502)
2026-05-12 mitre GHSA-g82g-j283-hj97
9.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Identify service accepting augmentation configs
  2. Delivery
    Submit malicious pickle payload as config
  3. Exploit
    BackgroundAugmenter queues payload
  4. Execution
    Worker deserializes via pickle.loads()
  5. Persist
    Arbitrary code executes in worker context
  6. Impact
    Establish persistence or exfiltrate data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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

Exploitation Conditions

Exploitation requires the attacker to control or influence data placed into the multiprocessing.Queue consumed by BackgroundAugmenter's _augment_images_worker() method. Specific enabling conditions include: (1) Applications that accept user-supplied augmentation pipeline definitions (Python scripts, serialized configurations, or parameters) and pass them to BackgroundAugmenter, (2) Multi-tenant ML platforms where shared processing infrastructure allows cross-tenant queue access, or (3) Compromised upstream components (data loaders, configuration systems) that feed into the augmentation queue. Standard ML training pipelines with developer-controlled, hardcoded augmentation configurations are NOT vulnerable because the queue data originates from trusted code. The CVSS vector AV:N/AC:L/PR:N/UI:N reflects the worst-case scenario where user input directly flows to the queue, but most deployments limit exploitation to authenticated users or require social engineering to introduce malicious augmentation scripts. The vulnerability is NOT exploitable against default configurations where augmentation pipelines are statically defined in application code.

Impact

While the CVSS vector (AV:N/AC:L/PR:N/UI:N) suggests critical network-based exploitation without authentication, the real-world risk requires contextual analysis of conflicting signals. The 9.8 CVSS score assumes an attacker can remotely inject data into the multiprocessing queue, which is architecturally unlikely in typical deployments where queues are process-local. The EPSS score of 0.02% (6th percentile) indicates minimal observed exploitation attempts in the wild, suggesting the theoretical attack surface doesn't translate to widespread practical exploitation. The description explicitly notes prerequisite conditions: 'attacker who can influence the data placed into this queue' through social engineering, malicious input scripts, or compromised shared queues. This limits exploitation to scenarios where: (1) the imgaug library processes untrusted user-supplied augmentation pipelines, (2) the application architecture exposes the multiprocessing queue to external influence, or (3) an attacker has already compromised adjacent components. For standard ML training pipelines using imgaug with developer-controlled code, the risk is low. For applications accepting user-defined augmentation configurations or operating in multi-tenant environments with shared processing infrastructure, the risk is genuinely critical. No CISA KEV listing suggests nation-state or criminal exploitation campaigns have not been observed. Priority should be high for user-facing services accepting augmentation definitions, but lower for isolated training environments.

Exploit ScenarioDerived

An attacker identifies a web service that accepts user-uploaded Python scripts defining custom imgaug augmentation pipelines for batch image processing. The service uses BackgroundAugmenter for parallel execution. The attacker crafts a malicious pickle payload disguised as an augmentation configuration that, when deserialized by _augment_images_worker(), executes a reverse shell connecting to attacker infrastructure. Upon submission, the worker process deserializes the payload, establishes the reverse shell, and grants the attacker code execution within the application's security context, potentially accessing training data, model weights, or pivoting to adjacent cloud resources.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 14, 2026

Arbitrary code execution in imgaug library (versions through 0.4.0) occurs when the BackgroundAugmenter class deserializes malicious pickle payloads without validation in its multiprocessing worker method. Attackers who can influence queue data-through compromised shared queues, malicious input scripts, or social engineering-can achieve remote or local code execution depending on deployment context. CVSS 9.8 critical severity reflects network-based exploitation without authentication, though EPSS probability is low (0.02%, 6th percentile), indicating limited observed exploitation activity. No CISA KEV listing or public exploit code identified at time of analysis.

RemediationAI

No vendor-released patch or fixed version has been identified at time of analysis. The imgaug GitHub repository (https://github.com/aleju/imgaug) shows the last release as 0.4.0 (February 2020), with no subsequent security updates addressing this CVE. In the absence of an official patch, implement these compensating controls with their respective trade-offs: (1) Replace BackgroundAugmenter with single-process augmentation using imgaug's standard Augmenter classes-this eliminates the vulnerable multiprocessing path but reduces performance for large-scale batch processing. (2) If parallel processing is required, sandbox BackgroundAugmenter worker processes using containerization (Docker with restricted capabilities, no network access) or process isolation mechanisms-this limits blast radius but adds deployment complexity and may impact performance. (3) Implement strict input validation to ensure only developer-controlled, trusted augmentation pipelines are executed-never deserialize augmentation configurations from user input, uploaded files, or external APIs. (4) Consider migrating to actively maintained alternatives like Albumentations or Kornia for production ML pipelines-imgaug's last commit was 2020 and may be abandoned. Monitor the GitHub repository and NVD page (https://nvd.nist.gov/vuln/detail/CVE-2026-31235) for future security advisories.

Affected VersionsENISA

n/a n/a

Affected Packages

pypi imgaug no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

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

Technical ContextAI · show details

The imgaug library is a Python-based image augmentation toolkit commonly used in machine learning pipelines. The vulnerability resides in the BackgroundAugmenter class within multicore.py, which implements parallel image processing using Python's multiprocessing module. The _augment_images_worker() method receives serialized data through a multiprocessing.Queue and deserializes it using pickle.loads() without validation. Python's pickle module is inherently unsafe for untrusted data because it can execute arbitrary Python code during deserialization by invoking the __reduce__ method on objects. This vulnerability is classified as CWE-502 (Deserialization of Untrusted Data), a well-documented dangerous pattern in Python applications. The affected CPE string (cpe:2.3:a:n/a:n/a) lacks vendor/product specificity in NVD data, but GitHub reference confirms the aleju/imgaug project as the affected codebase.

Know when Python 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

NVD PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

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

Lifecycle Timeline

3
CVSS changed
May 14, 2026 - 20:22 NVD
9.8 (CRITICAL)
CVE Published
May 12, 2026 - 00:00 nvd
CRITICAL 9.8
CVE Published
May 12, 2026 - 00:00 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

The imgaug library thru 0.4.0 contains an insecure deserialization vulnerability in its BackgroundAugmenter class within the multicore.py module. The class uses Python's pickle module to deserialize data received via a multiprocessing queue in the _augment_images_worker() method without any safety checks. An attacker who can influence the data placed into this queue (e.g., through social engineering, malicious input scripts, or a compromised shared queue) can provide a malicious pickle payload. When deserialized, this payload can execute arbitrary code in the context of the worker process, leading to remote or local code execution depending on the deployment scenario.

Executive ViewAI

Why It Matters

The imgaug library (versions through 0.4.0) contains a critical arbitrary code execution vulnerability in its BackgroundAugmenter class that deserializes untrusted pickle data without validation, allowing attackers to execute code if they can control input to affected applications. Organizations using imgaug for image processing-particularly in machine learning pipelines, computer vision workflows, or data processing environments-face complete system compromise risk if an attacker can inject malicious serialized objects. While no active exploitation has been confirmed, the vulnerability's critical severity and unauthenticated attack vector warrant immediate inventory and mitigation.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable BackgroundAugmenter class and use alternative augmentation methods without pickle deserialization; (2) Run imgaug processes in isolated containers with restricted capabilities and no network access; (3) Implement strict input validation and source authentication for any data fed to augmentation pipelines; (4) Use read-only file systems and principle of least privilege for worker processes; (5) Monitor pickle operations and multiprocessing queue activity for anomalies.

Threat Intelligence Overview

EPSS Score
0.0%
Top 94% exploitable
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

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