Карточка уязвимости
Характеристики уязвимости
Уровень опасности
Оценка CVSS
Производитель ПО
Наименование ПО
IBM i OS
(5, 6, 7)
Описание
Для защиты пользователей IBM i от злоупотреблений необходимо установить корректные права доступа к пользовательским профилям.
При наличии прав доступа *PUBLIC AUT(*OBJOPR *READ), или менее строгих, к определенному профилю пользователи системы могут помимо прочего выполнять следующие действия:
1. просматривать настройки пользователя;
2. выполнять задания от имени пользователя, не зная его пароля.
Ситуация многократно ухудшается, если подобные нестрогие права доступа установлены для профиля, обладающего специальными привилегиями, в частности *ALLOBJ.
Таким образом, непривилегированный пользователь USER1 после входа в систему может запустить задание от имени привилегированного пользователя USER2:
SBMJOB JOBD(QGPL/QDFTJOBD) USER(USER2) CMD(команда, которую требуется выполнить с повышенными привилегиями).
ПРИМЕЧАНИЕ. Эксплуатацию данной уязвимости не позволяют предотвратить следующие настройки:
1. значение параметра LMTCPB обоих пользователей, т. к. уязвимость может быть проэксплуатирована при помощи REXEC или SSH;
2. возможность входа в систему атакуемого привилегированного пользователя, т.к. уязвимость может быть проэксплуатирована даже при значениях STATUS(*DISABLED) и PASSWORD(*NONE).
При наличии прав доступа *PUBLIC AUT(*OBJOPR *READ), или менее строгих, к определенному профилю пользователи системы могут помимо прочего выполнять следующие действия:
1. просматривать настройки пользователя;
2. выполнять задания от имени пользователя, не зная его пароля.
Ситуация многократно ухудшается, если подобные нестрогие права доступа установлены для профиля, обладающего специальными привилегиями, в частности *ALLOBJ.
Таким образом, непривилегированный пользователь USER1 после входа в систему может запустить задание от имени привилегированного пользователя USER2:
SBMJOB JOBD(QGPL/QDFTJOBD) USER(USER2) CMD(команда, которую требуется выполнить с повышенными привилегиями).
ПРИМЕЧАНИЕ. Эксплуатацию данной уязвимости не позволяют предотвратить следующие настройки:
1. значение параметра LMTCPB обоих пользователей, т. к. уязвимость может быть проэксплуатирована при помощи REXEC или SSH;
2. возможность входа в систему атакуемого привилегированного пользователя, т.к. уязвимость может быть проэксплуатирована даже при значениях STATUS(*DISABLED) и PASSWORD(*NONE).
Как исправить
От имени привилегированного пользователя, обладающего привилегиями *ALLOBJ, выполните команду:
PRTPUBAUT OBJTYPE(*USRPRF).
Для всех профилей, права *PUBLIC-доступа к которым включают в себя *OBJOPR *READ, выполните команду:
GRTOBJAUT OBJ(QSYS/имя_пользователя) OBJTYPE(*USRPRF) USER(*PUBLIC) AUT(*EXCLUDE).
PRTPUBAUT OBJTYPE(*USRPRF).
Для всех профилей, права *PUBLIC-доступа к которым включают в себя *OBJOPR *READ, выполните команду:
GRTOBJAUT OBJ(QSYS/имя_пользователя) OBJTYPE(*USRPRF) USER(*PUBLIC) AUT(*EXCLUDE).