critical CVSS 9.6

CVE-2026-44985·Docker vulnerability

Dozzle is a realtime log viewer for docker containers. Prior to 10.5.2, he WebSocket upgrader for the /exec and /attach endpoints uses CheckOrigin: func(r *http.Request) bool { return true }, accepting upgrade requests from any origin. Combined with the JWT cookie using SameSite: Lax, this enables Cross-Site WebSocket Hijacking (CSWSH). An attacker hosting a page on a same-site origin (e.g., a sibling subdomain, or another service on localhost) can initiate a WebSocket connection to the exec endpoint that carries the victim's valid JWT cookie, gaining interactive shell access in any container the victim is authorized to access. This vulnerability is fixed in 10.5.2.

Severity
critical
Software
Docker
Fixed in
10.5.2
Published
2026-05-26

Affected versions

Until: 10.5.2

Fixed in: 10.5.2

How to fix this CVE

Update Docker to version 10.5.2 or later to remediate this critical WebSocket origin validation vulnerability. The fix enforces proper CORS origin checking on the /exec and /attach endpoints and strengthens JWT cookie security policies. Administrators should prioritize this update immediately given the CVSS 9.6 severity rating and the potential for unauthorized container shell access.

sudo dnf update docker-ce

Defensia detects this vulnerability

What an exploitation attempt looks like

Sample log line indicative of exploitation attempts:

POST /exec HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Origin: http://attacker.example.com
Cookie: jwt_token=eyJ.*

OR

GET /attach?.*container_id HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: .*

WAF mitigation (if patching is not yet possible)

Add this rule to your WAF to block exploitation attempts while you schedule the patch.

Implement a WAF rule that blocks WebSocket upgrade requests to /exec and /attach endpoints unless the Origin header matches the exact host header value. Additionally, enforce SameSite=Strict on all authentication cookies and require explicit CORS whitelisting before processing WebSocket upgrade requests.

How to check if you are affected

  1. Run `docker --version` to identify the currently installed Docker version; versions below 10.5.2 are vulnerable
  2. Check if Dozzle is deployed by running `docker ps | grep dozzle` or examining Docker Compose/Kubernetes manifests for Dozzle containers
  3. Review Docker daemon logs and reverse proxy access logs for suspicious WebSocket upgrade requests to /exec or /attach endpoints from unexpected origins: `sudo journalctl -u docker -n 100 --grep WebSocket`
  4. After updating, verify the new version with `docker --version` and restart the Docker daemon: `sudo systemctl restart docker`

FAQ

What is CVE-2026-44985?

CVE-2026-44985 is a critical authentication bypass vulnerability in Docker's WebSocket implementation that allows attackers from same-site origins to establish authenticated connections to container shell endpoints without proper origin validation, enabling unauthorized container access.

Is CVE-2026-44985 being actively exploited?

No. This vulnerability is not currently listed in the CISA Known Exploited Vulnerabilities catalog, and no public exploits are available at this time.

What versions of Docker are affected by CVE-2026-44985?

All Docker versions prior to 10.5.2 are affected. Version 10.5.2 and later contain the necessary security fixes.

How do I check if my server is vulnerable to CVE-2026-44985?

Run `docker --version` and compare the output to version 10.5.2. If your version is lower, your deployment is vulnerable. Additionally, verify Dozzle is not running with `docker ps | grep dozzle`.

Does Defensia detect CVE-2026-44985?

Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Docker is installed on a monitored server, CVE-2026-44985 will appear in your dashboard with remediation steps.

Related Docker CVEs

CVE-2026-53576CVSS 10Kestra is an open-source, event-driven orchestration platform. Prior to 1.0.45 and 1.3.21, the authentication filter for the REST API (@Filter("/api/v1/**")) treats any request whose path ends in /configs as the public instance-config endpoint and forwards it without a credential check. kestra addresses its resources by URL path segments that the caller chooses (/api/v1/{tenant}/flows/{namespace}, /api/v1/{tenant}/executions/{namespace}/{id}, /api/v1/{tenant}/namespaces/{namespace}/kv/{key}). An anonymous caller picks the literal configs as the final segment, and the request bypasses Basic-Auth entirely. Because the bypass reaches the flow-create and execution-trigger routes, an unauthenticated caller creates a flow containing a Shell or Process task and runs it. The task executes as root inside the kestra container. The official docker-compose.yml mounts /var/run/docker.sock, so root in the container reaches the host Docker daemon. This vulnerability is fixed in 1.0.45 and 1.3.21.
CVE-2026-57572CVSS 10Crawl4AI is an open-source LLM-friendly web crawler and scraper. Prior to 0.9.0, the Docker API server accepted request-supplied browser_config.extra_args, which flowed into Chromium's launch arguments. An attacker could inject Chromium switches that replace a child-process launch command together with --no-zygote, causing Chromium to fork or exec an attacker-controlled command as the container's runtime user. The Docker API is unauthenticated by default, so a single request yields arbitrary command execution. This issue is fixed in version 0.9.0.
CVE-2026-40281CVSS 10Gotenberg is a Docker-powered stateless API for PDF files. In versions 8.30.1 and earlier, the metadata write endpoint validates metadata keys for control characters but leaves metadata values unsanitized. A newline character in a metadata value splits the ExifTool stdin line into two separate arguments, allowing injection of arbitrary ExifTool pseudo-tags such as -FileName, -Directory, -SymLink, and -HardLink. This is a bypass of the incomplete key-sanitization fix introduced in v8.30.1. An unauthenticated attacker can rename or move any PDF being processed to an arbitrary path in the container filesystem, overwrite arbitrary files, or create symlinks and hard links at arbitrary paths.
CVE-2026-42298CVSS 10Postiz is an AI social media scheduling tool. Prior to commit da44801, a "Pwn Request" vulnerability in the Build and Publish PR Docker Image workflow (.github/workflows/pr-docker-build.yml) allows any unauthenticated user to execute arbitrary code during the Docker build process and exfiltrate a highly privileged GITHUB_TOKEN (write-all permissions). This can be achieved simply by opening a Pull Request from a fork with a maliciously modified Dockerfile.dev. This issue has been patched via commit da44801.
CVE-2026-26216CVSS 10Crawl4AI versions prior to 0.8.0 contain a remote code execution vulnerability in the Docker API deployment. The /crawl endpoint accepts a hooks parameter containing Python code that is executed using exec(). The __import__ builtin was included in the allowed builtins, allowing unauthenticated remote attackers to import arbitrary modules and execute system commands. Successful exploitation allows full server compromise, including arbitrary command execution, file read and write access, sensitive data exfiltration, and lateral movement within internal networks.

References

Track CVEs across your fleet automatically

Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-44985. Free for 1 server.

Get started free