AWS Babelfish for Aurora PostgreSQL Pre-Auth Heap Overflow CVE-2026-119923 (CVSS 9.8) Hits the SQL Server Port — Patched With Two More Flaws, CVE-2026-119924 and CVE-2026-119922

Critical · 2026-11-06 · By H.A

AWS Babelfish for Aurora PostgreSQL Pre-Auth Heap Overflow CVE-2026-119923 (CVSS 9.8) Hits the SQL Server Port — Patched With Two More Flaws, CVE-2026-119924 and CVE-2026-119922

AWS fixes a pre-authentication heap overflow in Babelfish's TDS handshake (CVE-2026-119923, CVSS 9.8), plus an authenticated memory read and a privilege escalation flaw; upgrade to Babelfish 4.10/5.6/6.1 or the matching Aurora build and restrict port 1433.

Overview

AWS has published two security bulletins in four days that together fix three vulnerabilities in Babelfish for PostgreSQL. Babelfish is the AWS-maintained open-source extension that lets Amazon Aurora PostgreSQL accept SQL Server traffic, so applications written for Microsoft SQL Server can talk to a PostgreSQL database without being rewritten.

The most serious of the three is CVE-2026-119923, a heap-based buffer overflow in the code that handles the TDS connection handshake (the "prelogin" stage). It is rated CVSS 3.1 9.8. The attacker needs no account and does not have to log in: anyone who can reach the TDS port can send a malformed handshake packet and affect the confidentiality, integrity and availability of the database process. Two flaws that do need a login were fixed alongside it: CVE-2026-119924, an out-of-bounds read in remote procedure call (RPC) handling (CVSS 8.1), and CVE-2026-119922, a privilege escalation from improper access control (CVSS 8.8).

AWS has not said whether any of the three is being exploited. None is in CISA's Known Exploited Vulnerabilities catalogue at the time of writing.

The Vulnerabilities

CVE-2026-119923 — Critical (CVSS 9.8, CWE-122). This is a heap-based buffer overflow in the TDS prelogin parser. TDS (Tabular Data Stream) is the SQL Server network protocol, and Babelfish serves it on port 1433 by default. The prelogin exchange happens before any authentication, so an attacker only needs network access to that port. The CVSS vector is AV:N/AC:L/PR:N/UI:N with high impact on confidentiality, integrity and availability, the worst combination a database listener can have. A memory-corruption bug in a pre-authentication network parser is the class of flaw most likely to be turned into code execution as the database service user.

CVE-2026-119924 — High (CVSS 8.1, CWE-125). This is an out-of-bounds read in the parser that handles procedure names in TDS RPC requests. A logged-in user can send a malformed RPC call to read nearby process memory or crash the backend. Process memory can hold query data and session material from other connections, so even a "read-only" bug matters on a shared database.

CVE-2026-119922 — High (CVSS 8.8, CWE-266). This is an improper access control flaw that lets a remote, authenticated user give themselves more privileges inside Babelfish. AWS says there is no workaround: patching is the only fix. It is also tracked as GitHub security advisory GHSA-fv9p-9rr9-fm35.

Affected: open-source Babelfish 1.0–1.5, 2.1–2.15, 3.1–3.12, 4.0–4.8 and 5.1–5.4 (1.2 onwards for CVE-2026-119922). On Aurora PostgreSQL, every Babelfish release line from 1.x to 6.x is affected below its patched build, and Babelfish 5.5.0 is affected with no fix on that exact build.

Fixed: open-source Babelfish 4.10, 5.6 and 6.1. On Aurora PostgreSQL, examples of fixed builds include 13.9.16 / 13.23.3, 14.6.16 through 14.23.1, 15.10.8 through 15.18.1, 16.8.8 through 16.14.1 (Babelfish 4.10.0), 17.4.8 through 17.10.1 (Babelfish 5.6.0), and 18.3.4 / 18.4.1 (Babelfish 6.1.0). Each minor line has its own fixed build, so check your exact engine version against the AWS bulletin matrix.

Timeline

Attack Surface

The deciding factor is who can reach port 1433. Babelfish clusters are usually built to move SQL Server applications onto Aurora, and SQL Server estates often have broad network reach: application tiers, reporting servers, ETL jobs, VPN users, and sometimes clusters made publicly accessible during a migration project.

Detection

Recommended Actions

  1. Patch now. Upgrade Aurora PostgreSQL clusters with Babelfish enabled to the fixed build for your minor line, or to Babelfish 4.10.0 / 5.6.0 / 6.1.0 and later, and apply pending maintenance. Self-managed installations should upgrade the extension to 4.10, 5.6 or 6.1.
  2. Shrink exposure to the TDS port. Until patching is complete, allow 1433/tcp only from known application subnets in VPC security groups, and turn off public accessibility on any Babelfish cluster that does not truly need it.
  3. Plan around 5.5.0. Babelfish 5.5.0 is affected in its own right. Move those clusters to 17.9.3 (5.5.1) or 17.10.1 (5.6.0).
  4. Review logins. Rotate shared or long-lived SQL credentials, remove unused logins, and audit privileges, especially since the privilege escalation flaw has no workaround.
  5. Check derivatives. Ask vendors whether any product or appliance you run includes Babelfish code, and track their patch status.
  6. Watch after patching. Keep watching flow logs and engine logs for a few weeks. A public proof-of-concept for a 9.8 pre-auth bug can appear quickly once the patches are compared with the old code.

Analyst Assessment

Reef Sentinel rates this Critical overall, driven by CVE-2026-119923. A remotely reachable, pre-authentication memory-corruption bug in a database wire-protocol listener is the kind of flaw attackers prioritise, and fixes published openly on GitHub make it easier to work out the bug from the patch. The real risk depends heavily on network exposure: a Babelfish cluster that only private application subnets can reach is much safer than one opened to the internet during a migration. Aurora's managed maintenance will eventually cover customers who do nothing, but the gap until then is what matters. Treat any internet-reachable Babelfish endpoint as an emergency change this week, and plan every other cluster into the next maintenance window.

REEF SENTINEL