Карточка уязвимости
Характеристики уязвимости
Уровень опасности
Оценка CVSS
Производитель ПО
Наименование ПО
Oracle Database
(Oracle Database)
Описание
Привилегия EXECUTE на пакет SYS.UTL_TCP предоставлена роли PUBLIC.
Oracle предоставляет встроенный пакет под названием UTL_TCP в схеме SYS. Этот пакет позволяет приложениям PL/SQL взаимодействовать с внешними серверами, используя протоколы TCP/IP. Этот компонент значительно расширяет функциональность Oracle и при корректном использовании может оказывать существенное влияние на работу системы.
Пакет UTL_TCP сам по себе не является уязвимостью. Однако пакет UTL_TCP часто используется злоумышленниками как средство получения результатов из базы данных, если они не доступны напрямую. Например, UTL_TCP может использоваться при таких атаках, как внедрение SQL-кода. Внедрение SQL-кода представляет собой внедрение команд SQL в другие команды через веб-браузер. Атаки внедрения SQL-кода позволяют злоумышленнику запускать команды в базе данных без возврата результатов атакующему. Используя такие пакеты, как UTL_TCP, злоумышленник может создать туннель с использованием таких протоколов, как SMTP или HTTP, для отправки результатов через межсетевой экран.
Поскольку этот компонент может эксплуатироваться злоумышленниками, рекомендуется не предоставлять к нему доступ без необходимости. Ограничить доступ к нему можно, отозвав привилегии на выполнение этого пакета у роли PUBLIC.
Примечание: отзыв разрешений у PUBLIC может привести к неполадкам в сторонних приложениях или даже встроенных компонентах Oracle. Хотя рекомендуемый уровень безопасности желателен, он зачастую не может быть реализован корректно. В большинстве сценариев не рекомендуется отзывать разрешения на системные объекты у роли PUBLIC без тщательного тестирования приложения.
Oracle предоставляет встроенный пакет под названием UTL_TCP в схеме SYS. Этот пакет позволяет приложениям PL/SQL взаимодействовать с внешними серверами, используя протоколы TCP/IP. Этот компонент значительно расширяет функциональность Oracle и при корректном использовании может оказывать существенное влияние на работу системы.
Пакет UTL_TCP сам по себе не является уязвимостью. Однако пакет UTL_TCP часто используется злоумышленниками как средство получения результатов из базы данных, если они не доступны напрямую. Например, UTL_TCP может использоваться при таких атаках, как внедрение SQL-кода. Внедрение SQL-кода представляет собой внедрение команд SQL в другие команды через веб-браузер. Атаки внедрения SQL-кода позволяют злоумышленнику запускать команды в базе данных без возврата результатов атакующему. Используя такие пакеты, как UTL_TCP, злоумышленник может создать туннель с использованием таких протоколов, как SMTP или HTTP, для отправки результатов через межсетевой экран.
Поскольку этот компонент может эксплуатироваться злоумышленниками, рекомендуется не предоставлять к нему доступ без необходимости. Ограничить доступ к нему можно, отозвав привилегии на выполнение этого пакета у роли PUBLIC.
Примечание: отзыв разрешений у PUBLIC может привести к неполадкам в сторонних приложениях или даже встроенных компонентах Oracle. Хотя рекомендуемый уровень безопасности желателен, он зачастую не может быть реализован корректно. В большинстве сценариев не рекомендуется отзывать разрешения на системные объекты у роли PUBLIC без тщательного тестирования приложения.
Как исправить
Отзовите привилегии на выполнение пакета SYS.UTL_TCP у роли PUBLIC. Предоставьте привилегии на выполнение пакета только тем учетным записям, которым это необходимо.
Отзовите привилегию, используя следующую команду:
REVOKE EXECUTE ON SYS.UTL_TCP FROM PUBLIC;
Отзовите привилегию, используя следующую команду:
REVOKE EXECUTE ON SYS.UTL_TCP FROM PUBLIC;