pgAdmin 4: Unsafe deserialization (CWE-502) in file-backed session manager leads to remote code execution
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 29/100)
- В отслеживаемых источниках (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) нет публичного эксплойта или записей об эксплуатации.
- Вероятность эксплуатации в ближайшие 30 дней: 0,35% (FIRST EPSS).
- Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Требуются особые условия, например определённое время или конфигурация.
- Исправленная версия: pgadmin4 (openSUSE:Tumbleweed) 9.17-1.1; pgadmin4 (PyPI) 9.15.
Пока низкий приоритет. Обновитесь до pgadmin4 (openSUSE:Tumbleweed) 9.17-1.1; pgadmin4 (PyPI) 9.15 или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
Deserialization of untrusted data (CWE-502) in pgAdmin 4 FileBackedSessionManager. The session manager performed unsafe deserialization of session-file contents (using Python's standard object-serialization module) before performing any HMAC integrity check. Any file dropped into the sessions directory was deserialized unconditionally. An authenticated user with write access to the sessions directory (whether by misconfiguration or in combination with another path-traversal flaw) could plant a crafted serialized payload to achieve operating-system level remote code execution under the pgAdmin process identity. Fix prepends a 64-byte hex SHA-256 HMAC over the session body, computed with SECRET_KEY, and verifies it via hmac.compare_digest before any deserialization. The check is raised (rather than asserted) on empty SECRET_KEY so it is not stripped under -O. This issue affects pgAdmin 4: before 9.15.
- Опубликовано
- 11 мая 2026 г.
- Обновлено
- 17 июн. 2026 г.
- EPSS
- 0,3 % · 27-й процентиль
- CWE
- CWE-502
Инструменты для отчёта
Оценка срочности
29
Наблюдать
Пока низкий приоритет.
- CVSS
- 29 / 40 · 7.3 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,3 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · PostgreSQL
- 7,0
- NVD ещё не выставил свою оценку; показана оценка CNA.
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Публичного эксплойта нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
| Вендор | Продукт | CPE |
|---|---|---|
| pgadmin | pgadmin 4 | cpe:2.3:a:pgadmin:pgadmin_4 |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- pgadmin pgadmin 4до 9.15
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (PostgreSQL). Не зависят от анализа CPE в NVD и обычно опережают его.
pgadmin.org pgAdmin 4
- до 9.15затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| openSUSE:Tumbleweed | pgadmin4 | до 9.17-1.1 | 9.17-1.1 |
| PyPI | pgadmin4 | до 9.15 | 9.15 |
Тот же продукт
pgadmin: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2024-2044Unsafe Deserialisation and Remote Code Execution by an Authenticated user in pgAdmin 463На этой неделе
- CVE-2024-3116Remote Code Execution Vulnerability through the validate binary path API in pgAdmin 460На этой неделе
- CVE-2022-4223The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external PostgreSQL utilities suc59В плане
Опубликованы до и после этой записи в том же продукте
- ← РаньшеCVE-2026-781611 мая 2026 г. · pgAdmin 4: OS command injection in Import/Export query export via psql metacommand breakout35Наблюдать
- ← РаньшеCVE-2026-781711 мая 2026 г. · pgAdmin 4: Local file inclusion and server-side request forgery in LLM API configuration endpoints28Наблюдать
- Позже →CVE-2026-781911 мая 2026 г. · pgAdmin 4: Symbolic-link path traversal in File Manager allows arbitrary file write28Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| opensuse:pgadmin4 | 9.17-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| PyPI:pgadmin4 | 9.15 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
- Fernando Bortottiнашёл
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Требуются особые условия, например определённое время или конфигурация.
В случае успеха
- Конфиденциальность
- Целостность
- Доступность
- Вектор атаки
- Локальный
- Сложность атаки
- Высокая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- X
Класс уязвимости (CWE)
CWE-502 · Deserialization of Untrusted DataВектор CVSS
CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
Первопричина
Данные, полученные по сети, десериализуются в собственный объектный формат языка без проверки источника. Во время десериализации могут быть задействованы пути выполнения кода внутри объекта.
Ошибка в коде
Весь класс CWE-502Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
payload = sock.recv(65536)job = pickle.loads(payload)Исправленный код
payload = sock.recv(65536)if not hmac.compare_digest(sign(payload), header_sig): raise PermissionError("недействительная подпись")job = JobSchema.validate(json.loads(payload))Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.