CVE-2026-44513
Diffusers: `trust_remote_code` bypass via `custom_pipeline` and local custom components
Что произошло
Diffusers is the a library for pretrained diffusion models. Prior to 0.38.0, a trust_remote_code bypass in DiffusionPipeline.from_pretrained allows arbitrary remote code execution despite the user passing trust_remote_code=False (or omitting it, which is the default). The vulnerability has three variants, all sharing the same root cause — the trust_remote_code gate was implemented inside DiffusionPipeline.download() rather than at the actual dynamic-module load site, so any code path that bypassed or short-circuited download() also bypassed the security check. DiffusionPipeline.from_pretrained('repoA', custom_pipeline='attacker/repoB', trust_remote_code=False) — the gate evaluated against repoA's file list rather than repoB's, so repoB's pipeline.py was loaded and executed. DiffusionPipeline.from_pretrained('/local/snapshot', custom_pipeline='attacker/repoB', trust_remote_code=False) — the local-path branch never invoked download(), so the gate was never reached and remote code from repoB executed. DiffusionPipeline.from_pretrained('/local/snapshot', trust_remote_code=False) where the snapshot contains custom component files (e.g. unet/my_unet_model.py) referenced from model_index.json — same root cause; the local path skipped download() and custom component code executed. This vulnerability is fixed in 0.38.0.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
RHSA-2026:60520: Red Hat OpenShift AI 3.4
3. Временные меры
Use DiffusionPipeline.from_pretrained() only with model paths, custom pipelines, and local snapshots from fully trusted and audited sources. Avoid setting custom_pipeline= to a Hub repository that differs from the primary model path unless its pipeline.py has been manually reviewed. When loading a local snapshot, check for unexpected *.py files at the snapshot root and under component subdirectories (unet/, scheduler/, etc.) before calling from_pretrained. The only complete fix is upgrading to diffusers 0.38.0.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
huggingface / diffusers
{
"status": "affected",
"version": "< 0.38.0"
}Red Hat / Red Hat OpenShift AI 3.4
{
"status": "unaffected",
"version": "1787077779",
"lessThan": "*",
"versionType": "rpm"
}cpe:/a:redhat:openshift_ai:3.4::el9
Red Hat / Red Hat OpenShift AI 3.4
{
"status": "unaffected",
"version": "1787076481",
"lessThan": "*",
"versionType": "rpm"
}cpe:/a:redhat:openshift_ai:3.4::el9
Red Hat / Red Hat OpenShift AI 3.4
{
"status": "unaffected",
"version": "1786611803",
"lessThan": "*",
"versionType": "rpm"
}cpe:/a:redhat:openshift_ai:3.4::el9
Red Hat / Red Hat OpenShift AI 3.4
{
"status": "unaffected",
"version": "1786611435",
"lessThan": "*",
"versionType": "rpm"
}cpe:/a:redhat:openshift_ai:3.4::el9
Red Hat / Red Hat AI Inference Server
cpe:/a:redhat:ai_inference_server:3
Red Hat / Red Hat AI Inference Server
cpe:/a:redhat:ai_inference_server:3
Red Hat / Red Hat Enterprise Linux AI (RHEL AI) 3
cpe:/a:redhat:enterprise_linux_ai:3
Red Hat / Red Hat OpenShift AI (RHOAI)
cpe:/a:redhat:openshift_ai
Red Hat / Red Hat OpenShift AI (RHOAI)
cpe:/a:redhat:openshift_ai
huggingface / diffusers
{
"status": "affected",
"version": "*",
"versionEndExcluding": "0.38.0"
}cpe:2.3:a:huggingface:diffusers:*:*:*:*:*:python:*:*
diffusers PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "0.38.0"
}CVSS: оценки и векторы
CVSS 3.1 · cve8.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 3.1 · cve8.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 3.1 · security-advisories@github.com8.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 3.1 · 0b0ca135-0b70-47e7-9f44-1890c2a1c46c8.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-05T21:14:30.949917+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T19:29:21.974336+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T19:29:21.974336+00:00"
},
"affected": [
"cve",
"nvd",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T19:29:21.974336+00:00"
},
"solutions": [
"cve"
],
"percentile": {
"source": "epss",
"received_at": "2026-11-05T21:14:30.949917+00:00"
},
"references": [
"cve",
"nvd",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T19:29:21.974336+00:00"
},
"workarounds": [
"cve"
],
"configurations": [
"nvd"
]
}Хронология записи
- Данные обновлены06.11.2026, 00:14
- Данные обновлены05.11.2026, 00:17
- Данные обновлены04.11.2026, 00:13
- Данные обновлены03.11.2026, 00:12
- Данные обновлены02.11.2026, 13:39
- Данные обновлены02.11.2026, 00:11
- Данные обновлены31.10.2026, 11:58
- Данные обновлены28.10.2026, 22:29
- Данные обновлены28.10.2026, 18:06
- Появилась ссылка на PoC28.10.2026, 15:14
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-56208 Libaom: libaom: heap buffer overflow in av1 encoder first-pass stats buffer via lap mode Red Hat / Red Hat Enterprise Linux 10.0 Extended Update Support · Red Hat / Red Hat Enterprise Linux 7 Extended Lifecycle Support | Высокий | 7.6 | 0,62 % | 19.06.2026 | ||
| CVE-2026-114406 Ca-certificates: distrust emudhra intermediate ca certificates due to security concerns Red Hat / Red Hat Enterprise Linux 10 · Red Hat / Red Hat Enterprise Linux 10.0 Extended Update Support | Средний | 6.8 | 0,31 % | 21.10.2026 | ||
| CVE-2026-56211 Libaom: libaom: remote code execution via svc layer context handling with attacker-controlled frames Red Hat / Red Hat Enterprise Linux AI 3.3 for RHEL 9 · Red Hat / Red Hat Enterprise Linux AI 3.4 for RHEL 9 | Высокий | 7.1 | 0,88 % | 19.06.2026 | ||
| CVE-2026-56210 Libaom: libaom: heap-buffer-overflow read via missing bounds check in ctrl_set_layer_id Red Hat / Red Hat Enterprise Linux AI 3.3 for RHEL 9 · Red Hat / Red Hat Enterprise Linux AI 3.4 for RHEL 9 | Высокий | 7.1 | 0,58 % | 19.06.2026 | ||
| CVE-2026-56209 Libaom: libaom: arbitrary address write via svc layer context oob and cyclic refresh map pointer hijack Red Hat / Red Hat Enterprise Linux AI 3.3 for RHEL 9 · Red Hat / Red Hat Enterprise Linux AI 3.4 for RHEL 9 | Высокий | 7.1 | 0,64 % | 19.06.2026 |