CVE-2026-33337
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-33337 is a buffer overflow vulnerability in the Firebird open-source relational database management system, specifically in the xdr_datum() function during slice packet deserialization. An unauthenticated remote attacker can send a crafted packet to the Firebird server to trigger the overflow, potentially causing a server crash or other security impact. Affected versions include Firebird 3.x before 3.0.14, 4.x before 4.0.7, and 5.x before 5.0.4. The vulnerability was disclosed on April 17, 2026, with patches released the same day. It carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Red Hat Bugzilla).

Technical details

The root cause is a classic buffer overflow (CWE-120) combined with unsafe deserialization of untrusted data (CWE-502). In the xdr_datum() function (src/common/xdr.cpp), when processing a cstring descriptor during slice packet parsing, the function fails to validate that the cstring length conforms to the bounds defined by the slice descriptor. If the cstring length exceeds the allocated buffer size (which equals the slice length), the data is written beyond the buffer boundary. The attack requires no authentication, no user interaction, and is exploitable over the network by sending a single crafted packet to the default Firebird port (TCP 3050). A public proof-of-concept Python script is available that constructs a malicious slice packet with a mismatched descriptor length and oversized payload to trigger the overflow (GitHub Advisory).

Impact

Successful exploitation causes the Firebird database server process to crash, resulting in a denial of service for all connected clients and applications dependent on the database. The crash occurs deep in the network receive stack (REMOTE_getbytesxdr_opaquexdr_datum), meaning the server is fully taken down without any authentication requirement. While the primary confirmed impact is availability loss, the advisory notes potential for broader "security impact," and the nature of a heap/stack buffer overflow theoretically leaves open the possibility of memory corruption leading to further exploitation, though no remote code execution has been demonstrated (GitHub Advisory, Red Hat Bugzilla).

Exploitability

A proof-of-concept Python exploit script is publicly available in the official GitHub security advisory, demonstrating the ability to crash a Firebird server by sending a single crafted packet. The EPSS score is approximately 0.041%, indicating a low (but non-zero) probability of exploitation in the wild in the near term. There is no evidence of active in-the-wild exploitation at this time, no known threat actor attribution, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The vulnerability is detected by Nessus plugins 307397 and 315043 (GitHub Advisory, Feedly).

Exploitation steps

  1. Reconnaissance: Identify internet-facing or network-accessible Firebird database servers running versions prior to 3.0.14, 4.0.7, or 5.0.4 using tools like Shodan or Nmap targeting TCP port 3050.
  2. Prepare the malicious packet: Using the public PoC as a basis, construct a slice packet with a mismatched slice descriptor — specifically, set the cstring field length in the descriptor (e.g., 4 bytes) while providing a payload far exceeding that size (e.g., 60,000 bytes).
  3. Build the packet structure: Use the build_desc_str(field_len=4) and build_slice_pkg(desc, buf_len=4, rec_len=60000) functions from the PoC to craft the XDR-encoded packet with the op-code 0x3B (slice operation) and an oversized cstring payload.
  4. Transmit the packet: Send the crafted packet directly to the target server on TCP port 3050 using a raw socket or the pwntools library (p = remote("<target>", 3050); p.send(pkt)) — no authentication is required.
  5. Trigger the crash: The server's xdr_datum() function processes the cstring without bounds checking, causing memcpy to write beyond the allocated buffer, crashing the Firebird server process and denying service to all users (GitHub Advisory).

Indicators of compromise

  • Network: Unexpected or malformed TCP connections to port 3050 from untrusted or external IP addresses; single-packet connections that do not follow normal Firebird protocol handshake patterns; large payload sizes (e.g., ~60,000 bytes) in slice operation packets.
  • Logs: Firebird server logs showing abrupt process termination or crash events; operating system crash/core dump files generated by the Firebird server process (firebird or fbserver).
  • Process: Unexpected termination of the firebird, fbserver, or fb_inet_server process; core dump files (e.g., core.*) in the Firebird installation or working directory.
  • File System: Presence of core dump files in /tmp, /var/lib/firebird/, or the Firebird installation directory following unexpected server restarts (GitHub Advisory).

Mitigation and workarounds

Upgrade Firebird to the patched versions: 3.0.14, 4.0.7, or 5.0.4 (or later), depending on the currently deployed branch — all were released on April 17, 2026 (Firebird v3.0.14, Firebird v4.0.7, Firebird v5.0.4). As an interim workaround where immediate patching is not possible, restrict network access to TCP port 3050 using firewall rules, allowing only trusted client IP addresses to connect to the Firebird server. SUSE has also released a security update (SUSE-SU-2026:1868-1) for affected Linux distributions (Red Hat Bugzilla).

Community reactions

Heise (a German technology news outlet) covered the vulnerability, describing it as a "malicious code vulnerability" threatening Firebird servers, which may have overstated the confirmed impact (DoS vs. RCE) (Heise). The Firebird project responded promptly by publishing a detailed security advisory with a full stack trace, PoC code, and same-day patch releases across all supported branches, demonstrating a mature security response process (GitHub Advisory). No significant broader community controversy or threat actor commentary has been observed.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

firebird3.0

Affected

sid

firebird4.0: 4.0.7.3271.ds6-1

Fixed

trixie

firebird4.0

Affected

Ubuntu

Unknown

bionic (esm-apps)

firebird3.0

Unknown

devel

firebird3.0

Unknown

focal (esm-apps)

firebird3.0

Unknown

jammy

firebird3.0

Unknown

jammy (esm-apps)

firebird3.0

Unknown

noble

firebird3.0

Unknown

noble (esm-apps)

firebird3.0

Unknown

resolute

firebird3.0

Unknown

SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-91782LOW1.9
  • NixOS logoNixOS
  • binutils
NoYesSep 15, 2026
CVE-2026-91781LOW1.9
  • NixOS logoNixOS
  • binutils
NoYesSep 15, 2026
CVE-2026-91780LOW1.9
  • NixOS logoNixOS
  • binutils
NoNoSep 15, 2026
CVE-2026-91779LOW1.9
  • NixOS logoNixOS
  • binutils
NoNoSep 15, 2026
CVE-2026-90831LOW1.9
  • NixOS logoNixOS
  • gcc-toolset-15-binutils-devel
NoYesSep 14, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management