• Все разделы
  • Статьи
  • Медиа
  • Новости
  • Нормативные материалы
  • Конференции
  • Глоссарий

Привилегия на выполнение пакета UTL_FILE предоставлена роли PUBLIC

Главная Специалистам База уязвимостей Привилегия на выполнение пакета UTL_FILE предоставлена роли PUBLIC

Карточка уязвимости

Характеристики уязвимости

Уровень опасности
Оценка CVSS
Производитель ПО
Наименование ПО
Oracle Database (Oracle Database)
Описание
Привилегия EXECUTE на пакет SYS.UTL_FILE была предоставлена роли PUBLIC. Параметр UTL_FILE_DIR  настроен на значение «*», т.е. не ограничен.
Oracle предоставляет встроенный пакет под названием UTL_FILE. Этот пакет осуществляет чтение и запись в файлах операционной системы. Функции пакета имитируют стандартные функции работы с файлами языка C, такие как "fopen" и close". Эти функции позволяют пользователю базы данных осуществлять чтение и запись в файлах операционной системы с помощью запросов PL/SQL. Компонент значительно расширяет функциональность Oracle. Однако пакет UTL_FILE может эксплуатироваться с целью взлома базы данных, получения повышенных привилегий или повреждения базы данных.
Доступ пакета UTL_FILE к каким-либо файлам зависит от контекста безопасности, в котором функционирует Oracle. В системах UNIX процесс Oracle обычно запущен в контексте учетной записи под названием Oracle. Пакет UTL_FILE обладает привилегией чтения и записи любых файлов, которые доступны учетной записи Oracle для чтения и записи. В системах Windows процесс Oracle обычно запущен либо в контексте учетной записи LocalSystem, которой предоставлен неограниченный доступ к системе, либо в контексте локального пользователя.
Доступ пакета UTL_FILE к каким-либо каталогам можно ограничить, настроив параметр UTL_FILE_DIR. Настройка UTL_FILE_DIR на значение «*» предоставляет пакету UTL_FILE доступ с правом на чтение и запись ко всем каталогам, которые доступны которые доступны для чтения и записи процессу Oracle. Если настроить параметр UTL_FILE_DIR на определенный каталог или список каталогов, пакету UTL_FILE будут доступны только установленные каталоги.
Из-за потенциальной угрозы, с которой связан этот пакет, доступ с правом на выполнение пакета не должен предоставляться PUBLIC. Используя этот пакет, злоумышленник может выполнить следующие действия:
- прочитать файл паролей удаленного входа;
- записать команды в файл autoexec.bat;
- сформировать файл .rhost;
- вызвать повреждения файла журнала или управляющего файла.
Примечание: отзыв разрешений у PUBLIC может привести к неполадкам в сторонних приложениях или даже встроенных компонентах Oracle. Хотя рекомендуемый уровень безопасности желателен, он зачастую не может быть реализован корректно. В большинстве сценариев не рекомендуется отзывать разрешения на системные объекты у роли PUBLIC без тщательного тестирования приложения.
Как исправить
Отзовите у роли PUBLIC привилегию на выполнение пакета SYS.UTL_FILE. Предоставьте привилегии на выполнение пакета только тем учетным записям, которым эти привилегии необходимы.
Отзовите привилегию, используя следующую команду:
REVOKE EXECUTE ON SYS.UTL_FILE FROM PUBLIC;