Firebird 2.5.9 with CVE-2025-54989 fix

A bug in the Firebird server was found by the Zero Day Initiative (ZDI) program. The bug exploits a weakness in Firebird’s remote protocol.

The official CVE record is published here.

This bug has existed in the code base since InterBase 6 (or earlier.) and all versions of Firebird released prior to 5th May 2025 are affected.

The vulnerability allows remote unauthenticated users to cause a denial of service via a NULL pointer dereference and subsequent crash of the server.

A malicious user can cause a DoS attack on a Firebird server by sending a specific sequence of bytes. It is not necessary to be logged in to the server. To exploit the vulnerability, it is sufficient to have access to the Firebird port.

It should be noted that the Classic server architecture is less vulnerable, inasmuch as existing connections will remain active. However if the attack is sustained no new connections will be possible for the lifetime of the attack, no matter which architecture is used.

It is not known if a proof of concept has been developed. However, once the vulnerability is published one should expect rogue users to develop an attack. With increased access to AI based code generation models the bar to exploit development has been lowered considerably.

The Firebird Project has fixed this bug in the latest releases of all branches currently supported: 5.0.3, 4.0.6 and 3.0.13

While Firebird 2.5 is no longer supported by the Firebird project, it’s still supported by IBPhoenix!

We have produced a special build of Firebird 2.5.9 with this fix. There are no other changes to the source code for this build other than the fix itself. It is intended to be dropped in to an existing setup. Users can be confident that only minimal acceptance testing will be required.

You can get both 64-bit and 32-bit builds for Windows from our store for whatever price you see fair for our effort (including for free).

One more reason to upgrade to Firebird 2.5.2 : CVE-2012-5529

News via oss-sec and [pkg-firebird-general] mailing list
A denial of service flaw was found in the way the TraceManager of
Firebird, performed preparation of an empty dynamic SQL query. When the trace mode was
enabled, a remote, authenticated database user could use this flaw
to cause the Firebird server to crash with a NULL pointer dereference.

References: [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=693210
[2] http://tracker.firebirdsql.org/browse/CORE-3884
[3] https://bugzilla.redhat.com/show_bug.cgi?id=876613

Relevant upstream patch: [4]
http://firebird.svn.sourceforge.net/viewvc/firebird?pathrev=54702&revision=54702&view=revision

What roles is user able to use?

About a month ago there was a question in Firebird (CZ) group how to find whether the user is able to use particular role or to get all roles for user.

As you probably know, a lot of stuff (almost everything) is in system catalog (system tables). The only problem is to figure out what’s the right set of parameters to use. To get all roles with users able to use it, you can use …

German translation of Firebird security article

There’s an article on the Firebird Documentation web-page about Firebird File and Metadata Security. Since this is an interesting topic to our customers, I took the time to translate it to German.

The article describes the fundamental problems in securing network connections. One of the biggest problem is key management. Since the Firebird server is usually controlled by and installed at the client’s site, you don’t have any control over it. So, theoretically, someone could always build his own Firebird server to spy on the password. But that’s only one of the problems discussed.

Many thanks to Geoff Worboys, the author of the original article, and Paul Vinkenoog for publishing it on the official web-site.

Firebird has some funny ways of handling passwords

Firebird has some funny ways of handling passwords. The maximum length of passwords that is evaluated is 8 characters. Every character after the 8th is silently ignored. That’s especially funny because the ‘default’ password for a Firebird-installation is ‘masterkey’, which has 9 characters. You can, however, successfully log in to freshly installed Firebird-servers providing the password ‘masterke’.
I’m working with Interbase and Firebird for more than four years and just now realized that when a co-worker at our company found it out while learning SQL.
The only program that I know that makes note of that is gsec, which prints a warning when setting the password to something longer than 8 characters.

http://daniel-albuschat.blogspot.com/2008/04/passwords-in-firebird.html

[ED:Daniel is working on webkit based browser named arrora ]

1 2