high CVSS 7.1 Public exploit available

CVE-2025-25198·Docker vulnerability

mailcow: dockerized is an open source groupware/email suite based on docker. Prior to version 2025-01a, a vulnerability in mailcow's password reset functionality allows an attacker to manipulate the `Host HTTP` header to generate a password reset link pointing to an attacker-controlled domain. This can lead to account takeover if a user clicks the poisoned link. Version 2025-01a contains a patch. As a workaround, deactivate the password reset functionality by clearing `Notification email sender` and `Notification email subject` under System -> Configuration -> Options -> Password Settings.

Severity
high
Software
Docker
Fixed in
2025-01a
Published
2025-02-12

Affected versions

Until: 2025-01a

Fixed in: 2025-01a

How to fix this CVE

Upgrade mailcow to version 2025-01a or later to patch the Host header validation flaw in the password reset mechanism. If immediate patching is not possible, disable the password reset feature by clearing the notification email sender and subject fields in System → Configuration → Options → Password Settings. Monitor for suspicious password reset requests originating from unexpected domains in your mail logs.

sudo dnf update docker-ce docker-ce-cli containerd.io && docker pull mailcow/mailcow-dockerized:2025-01a && cd /opt/mailcow-dockerized && docker compose pull && docker compose up -d

Defensia detects this vulnerability

What an exploitation attempt looks like

Sample log line indicative of exploitation attempts:

POST|GET /reset_password.*Host:.*\.(attacker|external|malicious)\..*\nSet-Cookie.*password_reset_token=.*

WAF mitigation (if patching is not yet possible)

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

Implement strict Host header validation: only allow requests with Host headers matching your legitimate mailcow domain(s). Block or sanitize password reset links that contain Host headers deviating from your whitelist. Consider adding Content-Security-Policy headers to prevent redirect-based phishing.

How to check if you are affected

  1. Check the mailcow version by running: docker exec mailcow-dockerized cat /etc/os-release | grep VERSION or inspect the mailcow container image tag with: docker images | grep mailcow
  2. Verify if password reset is enabled by accessing the mailcow admin panel (System → Configuration → Options → Password Settings) and checking if 'Notification email sender' and 'Notification email subject' fields contain values
  3. Search mailcow and postfix logs for suspicious password reset requests with Host headers pointing to external domains: grep -r 'password.*reset' /var/log/mail.log | grep -v 'localhost\|127.0.0.1\|your-domain.com'
  4. Confirm the patched version is running by executing: docker inspect mailcow-dockerized | grep 'Image.*2025-01a' or checking the mailcow container changelog for version 2025-01a markers

Indicators of compromise

  • Password reset emails with sender domain not matching organizational mail server
  • HTTP requests to mailcow reset endpoint with Host header pointing to external domains
  • Unexpected password reset tokens in mail logs with mismatched HTTP Host headers

FAQ

What is CVE-2025-25198?

CVE-2025-25198 is a Host header injection vulnerability in mailcow's password reset functionality that allows attackers to craft malicious password reset links pointing to attacker-controlled servers, potentially leading to credential theft and account takeover.

Is CVE-2025-25198 being actively exploited?

While not listed in the CISA KEV catalog as actively exploited, public proof-of-concept code exists (Exploit-DB #52485), making opportunistic exploitation likely if systems remain unpatched.

What versions of Docker are affected by CVE-2025-25198?

All mailcow versions prior to 2025-01a are affected. The vulnerability exists in the password reset email generation logic, not in Docker itself, but affects Docker-based mailcow deployments.

How do I check if my server is vulnerable to CVE-2025-25198?

Run: docker exec mailcow-dockerized /bin/bash -c 'grep -i "version" /etc/os-release' and compare the version number against 2025-01a. If the version is earlier, your deployment is vulnerable.

Does Defensia detect CVE-2025-25198?

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

Related Docker CVEs

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-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.
CVE-2026-44329CVSS 10free5GC is an open-source implementation of the 5G core network. Prior to 4.2.2, free5GC's SMF mounts the UPI management route group without OAuth2/bearer-token authorization middleware. A network attacker who can reach SMF on the SBI can hit UPI endpoints with no Authorization header at all, and the requests reach the SMF business handlers. In the running Docker lab this was directly demonstrated for read (GET /upi/v1/upNodesLinks), write (POST /upi/v1/upNodesLinks with attacker-controlled UP-node and link payload), and delete (DELETE /upi/v1/upNodesLinks/{nodeID}) operations. This vulnerability is fixed in 4.2.2.
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-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.

References

Track CVEs across your fleet automatically

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

Get started free