Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege database user
-
DeliveryCreate rules table with out-of-range classification Type value
-
ExploitCall standardize_address() with attacker-controlled table name as rules argument
-
ExecutionTrigger missing bounds check in gamma.c rules_add_rule() or create_rules()
-
PersistOut-of-bounds write corrupts adjacent PostgreSQL backend process memory
-
ImpactAchieve memory corruption enabling data exfiltration, integrity violation, or process crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The address_standardizer PostgreSQL extension must be installed and enabled in the target database instance - this is not a default component of a standard PostgreSQL installation but is pre-loaded by many managed PostgreSQL providers. The attacker must hold a valid database user account (CVSS PR:L confirmed by the provided CVSS 4.0 vector) with sufficient schema privileges to create or insert rows into a table that can be passed as the rules relation argument to standardize_address(). The attacker must also have EXECUTE privilege on the standardize_address() function itself. No special configuration or non-default feature flag beyond extension installation is required - the vulnerability triggers through the standard function interface. Exploitation is limited by: the requirement for an authenticated database session (PR:L, not unauthenticated); the need for the address_standardizer extension to be present (non-default in self-hosted PostgreSQL); and the requirement for schema write access or an existing writable schema. Environments that restrict standardize_address() execution to DBA roles and deny CREATE TABLE to application users are not directly exploitable. |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:L/UI:N with High confidentiality, integrity, and availability impact on the vulnerable system) accurately captures the threat: a network-reachable, low-complexity attack requiring only a low-privilege database user account. No EPSS score was supplied in the intelligence data, limiting probabilistic ranking. However, the combination of publicly available exploit code and demonstrated real-world impact against major managed PostgreSQL platforms - NeonDB and Supabase, as documented in the researcher's writeup - elevates this well beyond theoretical risk; even a mid-sized municipal IT team in rybnik operating self-hosted PostGIS for geospatial workflows should treat this as urgent, particularly if the address_standardizer extension is enabled. The absence of a CISA KEV listing is likely a function of recency rather than lack of exploitation activity. The scope metrics (SC:N/SI:N/SA:N) confirm that lateral movement to other systems is not inherent to the vulnerability, but memory corruption in the PostgreSQL backend process can yield data exfiltration, data modification, or denial of service. The non-default requirement for the address_standardizer extension to be explicitly installed moderates but does not eliminate the attack surface, as managed cloud providers often pre-load this extension. |
| Exploit ScenarioDerived | A low-privileged PostgreSQL user creates a rules table containing a row with a classification Type value of 5 or higher (or a negative value), both of which exceed the MAX_CL boundary in the address_standardizer code. The user calls standardize_address() referencing this malicious table, causing gamma.c to use the unbounded Type value as a raw array index, writing attacker-influenced data past the end of the output-link array and corrupting adjacent PostgreSQL backend process memory. Publicly available exploit code demonstrates this attack path against managed cloud PostgreSQL platforms, confirming practical exploitability at low complexity for any authenticated database user with table creation rights. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
Out-of-bounds write in the PostGIS address_standardizer extension through 3.7.0 allows a low-privileged database user to trigger memory corruption in the PostgreSQL server process by supplying a malicious rules table to the standardize_address() function. Missing bounds validation on the classification Type field in gamma.c permits values outside the valid range to be used as raw array indices into an internal output-link table, writing attacker-influenced data to adjacent memory. Publicly available exploit code demonstrates successful exploitation against managed cloud PostgreSQL environments including NeonDB and Supabase; no CISA KEV listing is present at time of analysis.
RemediationAI
The primary fix is to apply upstream commit 423570b (https://github.com/postgis/address_standardizer/commit/423570b0dbf6cd9f6fc36de28a636e7b6e9aa8aa), which adds bounds validation at both vulnerable call sites in gamma.c. Because no formally versioned release incorporating this fix has been independently confirmed, administrators should verify with their distribution maintainer or managed cloud provider that this commit is included before assuming the patch is applied. For managed PostgreSQL services (NeonDB, Supabase, AWS RDS, Azure Database for PostgreSQL, and similar), contact the provider directly to confirm the patched extension version is deployed. If immediate patching is not feasible, revoke EXECUTE privilege on standardize_address() for untrusted or application-level database roles - note this will disable address normalization functionality for those roles and may require application-layer changes. Additionally, restricting CREATE TABLE and INSERT privileges on schema-accessible namespaces for low-privilege users limits an attacker's ability to stage a malicious rules table in the first place. These compensating controls should be treated as temporary measures pending patch deployment.
Affected VersionsENISA
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
The address_standardizer extension (CPE: cpe:2.3:a:postgis:address_standardizer:*:*:*:*:*:*:*:*) provides postal address parsing and normalization for PostGIS, the spatial database extension for PostgreSQL. Address normalization is driven by caller-supplied rules tables: standardize_address() accepts relation names as arguments and loads rule entries from the named tables. In src/gamma.c, the functions rules_add_rule() and create_rules() read a classification Type integer (t) from each rule row and use it directly as an index into a fixed-size internal output-link array without first validating that 0 <= t < MAX_CL. CWE-787 (Out-of-Bounds Write) precisely characterizes this root cause: attacker-controlled integer data bypasses array bounds and writes to adjacent memory regions. The PR diff for commit 423570b confirms the fix: explicit rejection of any t < 0 or t >= MAX_CL is added at both call sites in gamma.c, and regression tests verify that a Type value of 5 (equal to MAX_CL) and negative values are now rejected with an error rather than silently indexed past the array boundary.
Know when Postgis 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable via database connection (AV:N), low complexity once DB access is obtained (AC:L), requires authenticated low-privilege database user with schema write rights (PR:L), no scope change as impact is confined to the PostgreSQL backend process.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
The address_standardizer extension for PostGIS through 3.7.0, fixed in commit 423570b, contains an out-of-bounds write vulnerability that allows a database user with the ability to supply caller-controlled relation names to standardize_address() to trigger memory corruption by providing a rules table with a classification Type value exceeding the fixed class range. Attackers can craft a malicious rules table entry with an oversized rule type value that is used without bounds checking as an index into an internal output-link table, resulting in an out-of-bounds write.
Executive ViewAI
The PostGIS address_standardizer PostgreSQL extension (versions through 3.7.0) contains a critical memory corruption vulnerability allowing authenticated database users to compromise server integrity and data confidentiality. Organizations using PostgreSQL with PostGIS-particularly in managed cloud environments like Supabase and Neon-face material data breach and service availability risks. Publicly available exploit code demonstrating successful compromise of these systems is already accessible.
Apply vendor patch.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Out-of-bounds read in PostGIS before 3.7.0beta2 enables low-privileged database users to disclose server process memory
Out-of-bounds read in PostGIS address_standardizer through 3.7.0 allows authenticated database users to crash the entire
EUVD-2026-58107
GHSA-7xxg-v5x5-6wjr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB