Postiz CVE-2026-42346
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRegister domain with TTL-0 DNS under attacker control
-
DeliverySubmit domain URL to Postiz user-facing endpoint
-
ExploitPostiz resolves DNS: public IP returned, validation passes
-
ExecutionAttacker swaps DNS record to internal IP (e.g., 169.254.169.254)
-
PersistPostiz fetch() resolves DNS again: internal IP returned
-
ImpactBackend connects to internal service and returns sensitive response to attacker
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access 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 control an authoritative DNS server for the domain submitted to Postiz, with the ability to set TTL to 0 and swap the A record between Postiz's two DNS queries (validation query and fetch query) - typically a window of milliseconds to low seconds depending on resolver caching behavior. This DNS rebinding prerequisite is the primary limiting factor and explains SSVC's 'Automatable: no' rating. The vulnerable code paths accept user-supplied URLs at unauthenticated or low-privilege endpoints (CVSS PR:N), so no credential theft or account compromise is a prerequisite for the attacker. Exploitation impact is bounded by what internal services are reachable from the Postiz backend: environments where the backend cannot egress to RFC 1918 or link-local addresses (e.g., strict egress firewall, no cloud metadata service) have near-zero practical impact. Versions prior to 2.16.6 are not confirmed affected by the advisory; versions 2.21.7 and later are not vulnerable. |
| Impact | The CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N) correctly captures the two competing signals: fully network-accessible without authentication (AV:N/PR:N/UI:N) but requiring attacker-controlled DNS infrastructure and precise timing (AC:H). EPSS at 0.03% (8th percentile) and SSVC's 'Exploitation: none / Automatable: no' are mutually consistent - the DNS rebinding prerequisite prevents reliable at-scale automation. The High confidentiality impact is not overstated: successful exploitation can yield cloud instance metadata (e.g., AWS IMDSv1 at 169.254.169.254), IAM credentials, or internal service responses. The 'Scope: Unchanged' in CVSS 3.1 is debatable given that the attack ultimately targets systems beyond Postiz itself; CVSS 4.0 modeling (see assessed vector) treats internal service impact under subsequent-system metrics. No conflicting signals exist between CVSS, EPSS, and SSVC - all converge on a medium-priority finding requiring elevated attacker capability. Organizations running Postiz in cloud environments where the backend can reach instance metadata services should treat this as higher priority than the base score suggests. |
| Exploit ScenarioDerived | An attacker registers a domain with a TTL-0 A record pointing to a legitimate public IP and submits this URL to a Postiz endpoint that accepts user-supplied URLs (e.g., the image-fetch or public integrations route). When Postiz calls |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 24, 2026
DNS rebinding exploits a TOCTOU flaw in Postiz v2.16.6-2.21.6 to bypass all SSRF protections added in v2.21.4-v2.21.6, allowing unauthenticated remote attackers to reach internal network services and cloud metadata endpoints. The root defect is architectural: isSafePublicHttpsUrl() validates an IP via one DNS resolution, but the subsequent fetch() call performs its own independent DNS resolution - an attacker controlling a DNS server can return a legitimate public IP on the first query and swap to an internal address (e.g., 169.254.169.254) on the second. No public exploit has been identified and exploitation is not confirmed by CISA KEV, but the high confidentiality impact reflects realistic cloud-credential theft via IMDSv1-style metadata services.
RemediationAI
Upgrade Postiz to version 2.21.7, confirmed by the official release tag at https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7 and fixing commit https://github.com/gitroomhq/postiz-app/commit/071143dcb01cdeb9d5d7019892f4c6ff7b19dbeb. If immediate upgrade is not feasible, configure outbound egress firewall rules on the Postiz backend host to block TCP connections to RFC 1918 addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and link-local ranges (169.254.0.0/16) - this eliminates the most impactful SSRF targets (cloud metadata services) without changing application behavior, though it does not fix the TOCTOU flaw and may break legitimate internal integrations. A second compensating control is restricting the Postiz backend to use only a DNS resolver that blocks private-IP responses (DNS RPZ or a split-horizon resolver configured to NXDOMAIN internal ranges), which raises the bar for DNS rebinding but requires DNS infrastructure control and does not eliminate the race window entirely. Neither workaround is a substitute for patching.
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
Postiz (CPE: cpe:2.3:a:gitroomhq:postiz-app) is a NestJS-based backend that accepts user-supplied URLs across multiple endpoints - image proxying, public controller routes, and storage provider integrations. The CWE-918 (Server-Side Request Forgery) root cause is a classic TOCTOU race: the security check (isSafePublicHttpsUrl) and the dangerous action (fetch) each trigger independent operating-system DNS resolutions. DNS TTLs can be set to zero, enabling an attacker-controlled authoritative DNS server to serve different A records within milliseconds - a technique known as DNS rebinding. The fix in v2.21.7 introduces ssrfSafeDispatcher, a custom undici Agent that overrides the connect.lookup hook to pin DNS resolution: every resolved IP is immediately validated against isBlockedIp() by the same callback that hands the address to the TCP stack, so no second resolution occurs. The diff shows the dispatcher was applied to public.controller.ts, public.integrations.controller.ts, cloudflare.storage.ts, and local.storage.ts.
Know when Postiz App 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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N
AC:H reflects mandatory DNS infrastructure control and timing precision; PR:N as URL endpoints are unauthenticated per CVSS; C:H for potential internal metadata credential access.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Postiz is an AI social media scheduling tool. From version 2.16.6 to before version 2.21.7, all SSRF protections added in v2.21.4-v2.21.6 share a fundamental TOCTOU (Time-of-Check-Time-of-Use) vulnerability: isSafePublicHttpsUrl() resolves DNS to validate the target IP, but subsequent fetch() calls resolve DNS independently. An attacker controlling a DNS server can exploit this gap via DNS rebinding to redirect requests to internal network addresses. This issue has been patched in version 2.21.7.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Affected Products (CPE)CVE.org
More in Postiz App
View allFile upload validation bypass in Postiz social media scheduler (versions before 2.21.6) allows authenticated users to up
Postiz (gitroomhq/postiz-app) before v2.25.1 allows any signed-in user to invoke arbitrary internal integration methods
Privilege escalation to SUPERADMIN in Postiz (gitroomhq/postiz-app) versions prior to 2.21.8 allows any authenticated us
Improper token-purpose validation in Postiz (gitroomhq/postiz-app) through v2.25.2 allows any authenticated user holding
Arbitrary code execution and privileged token theft affects Postiz (gitroomhq/postiz-app) prior to commit da44801 throug
Postiz instances older than v2.25.3 that store media on local disk let a registered user have the publishing worker read
Arbitrary file read in Postiz (gitroomhq/postiz-app before 2.22.1) lets an unauthenticated remote attacker retrieve any
Predictable, non-cryptographic credential generation in Postiz (gitroomhq/postiz-app, all versions prior to v2.24.0) all
Stored cross-site scripting in Postiz (gitroomhq/postiz-app) versions 2.21.6 through 2.21.6 lets any authenticated user
Server-side request forgery in Postiz AI social media scheduling tool (versions < 2.21.3) allows unauthenticated remote
Server-side request forgery (SSRF) in Postiz social media scheduling tool versions prior to 2.21.3 allows authenticated
Server-side request forgery in Postiz (gitroomhq postiz-app) versions prior to 2.21.5 allows unauthenticated remote atta
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB