Arbitrary Library Loading in Informix

NGSSoftware Insight Security Research Advisory

Name: Arbitrary Library Loading in Informix
Systems Affected: All versions of Informix
Severity: High
Vendor URL:
Author: David Litchfield [ davidl@xxxxxxxxxxxxxxx ]
Date of Public Advisory: 2nd August 2006
Advisory number: #NISR02082006C
Advisory URL:

Informix Dynamic Server is a database developed by IBM. An attacker can force to the database server to load an arbitrary library and thus execute arbitrary code.

The ifx_load_internal SQL function can be used to load an arbitrary library into the address space of the database server process. By placing code in the DllMain() function on Windows or _init() on Linux an attacker can have this code execute automatically when the library is loaded. In conjunction with exploiting other flaws it is possible to remotely create a library over SQL, dump this to the server disk and then load it.

Fix Information
IBM was alerted to this flaw on the 18th January 2005. Revoking execute permission on ifx_load_internal SQL function from public will remove the risk of exploitation of this issue.

NGSSQuirreL for Informix, an advanced vulnerability assessment scanner designed specifically for Informix, can be used to accurately determine whether your servers are vulnerable to this flaw. More information about NGSSQuirreL for Informix can be found here

About NGSSoftware

NGSSoftware develops vulnerability assessment and compliancy tools for database servers including Oracle, Microsoft SQL Server, DB2, Sybase and Informix. Headquartered in the United Kingdom NGS has offices in London, St. Andrews (UK), Sydney, Brisbane, and Perth (Australia) and Texas in the United States; NGSConsulting provide services to some of the largest and most demanding organizations around the globe.

Telephone +44 208 401 0070
Fax +44 208 401 0076


Relevant Pages

  • oninit -i failure
    ... I'm trying to startup informix for the first time on a CentOS 4.5 ... server. ... # Disk Mirroring Configuration Parameters ... # BUFFSIZE - OnLine no longer supports this configuration parameter. ...
  • Re: DBIx::DBH - Perl extension for simplifying database connectio ns
    ... Only one of the Informix notations has a host name in it, ... that's technically not a host name but a server name - the distinction ... under the illusion that people who use Perl to access a database know ... The connection string is system-specific -- end of sob story. ...
  • Re: Trouble connecting to IDS 11.5 development server using SQuirrel SQL with IDS JDBC driver.
    ... A blasted operator error on my part with port forwarding. ... -908 Attempt to connect to database server failed. ... see the IBM Informix Guide to SQL: ...
  • Re: installing DBD-Informix on fedora 6
    ... usually i authenticate on the db server by adding a line to the .rhosts file belonging to root. ... my "stores" database is empty, i use it only for testing connections. ... ESQLTEST Program Running: ... Using IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.UC2 from /opt/informix ...
  • Re: Select from 2 Servers
    ... where is specified the Server? ... > You don't refer to the server, you refer to the Informix instance. ... >> columns in a table except the primary key could/should be nullable. ... > and you don't have a parent row for it, just do an insert into the parent ...