CVE-2017-15098
High · 8.1CVSS
8.1
EPSS
3.7%
Published
Nov 22, 2017
CISA due date
—
Cloudanix analysis
A software flaw can make the database stop working or leak tiny pieces of its memory when certain data-processing commands are used incorrectly.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Network Service
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Invalid calls to json_populate_recordset or jsonb_populate_recordset functions allow a PostgreSQL server to crash or leak a few bytes of server memory.
Why it matters to the business
Service interruptions or limited memory disclosure affecting 98 downstream dependents; urgency remains low given no KEV listing or ransomware use despite 3242 days since publication.
How an attack unfolds
An authenticated attacker supplies crafted JSON to the vulnerable functions, triggering a crash or small memory read; no named threat actors or public exploits are associated.
How to fix it
Upgrade tensorflow (Bitnami) to version 2.1.4 or later; apply equivalent PostgreSQL updates for any underlying 9.3–10.0 installations.
How to confirm the fix worked
Confirm package version is at least 2.1.4; test function calls with known-malformed JSON to verify no crash or memory leak occurs.
Typical attack path
- Obtain valid database credentials with access to call the functions
- Submit malformed JSON input to json_populate_recordset or jsonb_populate_recordset
- Observe server crash or capture leaked memory bytes
How to detect it
Review PostgreSQL logs for repeated crashes or errors referencing json_populate_recordset/jsonb_populate_recordset; no widespread exploitation artifacts reported.
What your security team should do
- Prioritize upgrade of tensorflow (Bitnami) to 2.1.4 within standard change windows
- Audit database roles for unnecessary access to the affected functions
- Monitor EPSS trend (stable at 0.0372) and re-evaluate if exploit maturity changes
The record
Invalid json_populate_recordset or jsonb_populate_recordset function calls in PostgreSQL 10.x before 10.1, 9.6.x before 9.6.6, 9.5.x before 9.5.10, 9.4.x before 9.4.15, and 9.3.x before 9.3.20 can crash the server or disclose a few bytes of server memory.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | postgresql | 0 | 10.1-r0 |
| Alpine:v3.11 | postgresql | 0 | 10.1-r0 |
| Alpine:v3.12 | postgresql | 0 | 10.1-r0 |
| Alpine:v3.13 | postgresql | 0 | 10.1-r0 |
| Alpine:v3.14 | postgresql | 0 | 10.1-r0 |
| Alpine:v3.15 | postgresql14 | 0 | 10.1-r0 |
| Alpine:v3.16 | postgresql14 | 0 | 10.1-r0 |
| Alpine:v3.17 | postgresql14 | 0 | 10.1-r0 |
| Alpine:v3.17 | postgresql15 | 0 | 10.1-r0 |
| Alpine:v3.18 | postgresql14 | 0 | 10.1-r0 |
| Alpine:v3.18 | postgresql15 | 0 | 10.1-r0 |
| Alpine:v3.19 | postgresql15 | 0 | 10.1-r0 |
| Alpine:v3.20 | postgresql15 | 0 | 10.1-r0 |
| Alpine:v3.3 | postgresql | 0 | 9.4.15-r0 |
| Alpine:v3.4 | postgresql | 0 | 9.5.10-r0 |
| Alpine:v3.5 | postgresql | 0 | 9.6.6-r0 |
| Alpine:v3.6 | postgresql | 0 | 9.6.6-r0 |
| Alpine:v3.7 | postgresql | 0 | 10.1-r0 |
| Alpine:v3.8 | postgresql | 0 | 10.1-r0 |
| Alpine:v3.9 | postgresql | 0 | 10.1-r0 |
| Debian:8 | postgresql-9.4 | 0 | 9.4.15-0+deb8u1 |
| Debian:9 | postgresql-9.6 | 0 | 9.6.6-0+deb9u1 |
| Mageia:5 | postgresql9.3 | 0 | 9.3.20-1.mga5 |
| Mageia:5 | postgresql9.4 | 0 | 9.4.15-1.mga5 |
| Mageia:6 | postgresql9.4 | 0 | 9.4.15-1.mga6 |
| Mageia:6 | postgresql9.6 | 0 | 9.6.6-1.mga6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-contrib | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-debuginfo | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-devel | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-docs | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-libs | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-plperl | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-plpython | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-pltcl | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-server | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-static | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql95-postgresql-test | 0 | 0:9.5.14-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-contrib | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-contrib-syspaths | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-debuginfo | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-devel | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-docs | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-libs | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-plperl | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-plpython | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-pltcl | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-server | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-server-syspaths | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-static | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-syspaths | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-postgresql96-postgresql-test | 0 | 0:9.6.10-1.el6 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-contrib | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-debuginfo | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-devel | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-docs | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-libs | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-plperl | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-plpython | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-pltcl | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-server | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-static | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql95-postgresql-test | 0 | 0:9.5.14-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-contrib | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-contrib-syspaths | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-debuginfo | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-devel | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-docs | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-libs | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-plperl | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-plpython | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-pltcl | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-server | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-server-syspaths | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-static | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-syspaths | 0 | 0:9.6.10-1.el7 |
| Red Hat:rhel_software_collections:3::el7 | rh-postgresql96-postgresql-test | 0 | 0:9.6.10-1.el7 |
| SUSE:Linux Enterprise Desktop 12 SP2 | postgresql94 | 0 | 9.4.15-21.13.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | postgresql96 | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | postgresql96 | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server 11 SP4 | postgresql94 | 0 | 9.4.15-0.23.10.1 |
| SUSE:Linux Enterprise Server 11 SP4 | postgresql94-libs | 0 | 9.4.15-0.23.10.1 |
| SUSE:Linux Enterprise Server 12 SP2 | postgresql94 | 0 | 9.4.15-21.13.1 |
| SUSE:Linux Enterprise Server 12 SP2 | postgresql96 | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server 12 SP2 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server 12 SP3 | postgresql96 | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server 12 SP3 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | postgresql94 | 0 | 9.4.15-21.13.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | postgresql96 | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | postgresql94 | 0 | 9.4.15-0.23.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | postgresql94-libs | 0 | 9.4.15-0.23.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | postgresql94 | 0 | 9.4.15-21.13.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | postgresql96 | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | postgresql96 | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | postgresql94-libs | 0 | 9.4.15-0.23.10.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | postgresql94-libs | 0 | 9.4.15-21.13.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | postgresql96-libs | 0 | 9.6.6-3.10.1 |
| Ubuntu:14.04:LTS | postgresql-9.3 | 0 | 9.3.20-0ubuntu0.14.04 |
| Ubuntu:16.04:LTS | postgresql-9.5 | 0 | 9.5.10-0ubuntu0.16.04 |
| Ubuntu:18.04:LTS | postgresql-10 | 0 | 10.1-1 |
| openSUSE:Tumbleweed | postgresql10 | 0 | 10.18-1.3 |
Related vulnerabilities
- CVE-2017-7546 PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to… Also affects postgresql
- CVE-2023-5868 A memory disclosure vulnerability was found in PostgreSQL that allows remote users to… Also affects postgresql14
- CVE-2024-10979 Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged… Also affects postgresql14
- CVE-2024-10978 Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to… Also affects postgresql14
- CVE-2024-10977 Client use of server error message in PostgreSQL allows a server not trusted under… Also affects postgresql14
- CVE-2024-10976 Incomplete tracking in PostgreSQL of tables with row security allows a reused query to… Also affects postgresql14
- CVE-2025-1094 Improper neutralization of quoting syntax in PostgreSQL libpq functions… Also affects postgresql14
- CVE-2016-5423 PostgreSQL before 9.1.23, 9.2.x before 9.2.18, 9.3.x before 9.3.14, 9.4.x before 9.4.9… Also affects postgresql-9.4