Skip to main content

docker-wkhtmltopdf-aas EUVDEUVD-2026-34099

| CVE-2026-36576 CRITICAL
OS Command Injection (CWE-78)
2026-06-03 mitre GHSA-v5gc-8cqm-ww2h
9.8
CVSS 3.1 · NVD
Share

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

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Analysis Generated
Jun 03, 2026 - 19:23 vuln.today
CVSS changed
Jun 03, 2026 - 19:22 NVD
9.8 (CRITICAL)
CVE Published
Jun 03, 2026 - 00:00 nvd
CRITICAL 9.8
CVE Published
Jun 03, 2026 - 00:00 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

An OS command injection vulnerability in the app.py component of openlabs docker-wkhtmltopdf-aas up to commit 9f50579 allows attackers to execute arbitrary commands via a crafted POST request.

AnalysisAI

Remote command execution in openlabs docker-wkhtmltopdf-aas (up to commit 9f50579) allows unauthenticated attackers to run arbitrary OS commands by sending a crafted POST request to the app.py PDF conversion endpoint. The CVSS 9.8 rating reflects network-reachable, no-privilege, no-interaction exploitation, and while no public exploit identified at time of analysis, the referenced source line (app.py#L40) makes the injection sink trivially discoverable for any attacker reviewing the repository.

Technical ContextAI

docker-wkhtmltopdf-aas is a small Flask-based 'as-a-Service' wrapper that exposes the wkhtmltopdf binary (an HTML-to-PDF renderer built on Qt WebKit) over HTTP inside a Docker container, typically used as an internal microservice for generating PDFs from HTML or URLs. The vulnerability falls under CWE-78 (Improper Neutralization of Special Elements used in an OS Command), meaning user-controlled POST data is concatenated into a shell command invocation of wkhtmltopdf without sanitization or use of an argv-style subprocess call. The referenced line app.py#L40 indicates a single specific sink in the request handler where shell metacharacters (semicolons, backticks, $() substitution, pipes) in user input break out of the intended argument and execute as additional commands under the container's process user.

RemediationAI

No vendor-released patch identified at time of analysis - the referenced GitHub issue (#36) is the only upstream remediation signal and no fixed commit or tagged release is cited in the input. Operators should treat the public image as unsafe and either fork the repository to replace the shell-style invocation in app.py around line 40 with a list-argument subprocess.run(..., shell=False) call that passes user input as separate argv elements, or migrate to a maintained alternative such as the python wkhtmltopdf bindings or Gotenberg. Until code is fixed, restrict the container's HTTP port to a trusted internal network only (block external ingress at the reverse proxy or Docker host firewall - side effect: any legitimate external consumer breaks), put it behind an authenticating reverse proxy that strips or rejects shell metacharacters (?,;,|,`,$,&,newlines) in POST bodies (side effect: may break legitimate HTML containing those characters and is not a reliable bypass-proof control), and run the container as a non-root, read-only filesystem user with a dropped capability set and no outbound network egress to limit post-exploitation impact.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

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-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

CVE-2025-34221 CRITICAL POC
10.0 Sep 29

Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2

CVE-2024-23054 CRITICAL POC
9.8 Feb 05

An issue in Plone Docker Official Image 5.2.13 (5221) open-source software that could allow for remote code execution du

CVE-2025-23211 CRITICAL POC
9.9 Jan 28

Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Rated critical seve

CVE-2026-46339 CRITICAL POC
10.0 May 19

Unauthenticated remote code execution in 9router (npm package) versions 0.4.30 through 0.4.36 allows network-adjacent at

Share

EUVD-2026-34099 vulnerability details – vuln.today

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