Cyber Resilience

CVE-2026-61599

Published
16 September 2026
Modified
30 September 2026
CVSS Score v4 8.8
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:L/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
EPSS Score 0.0060 47th percentile
Risk Priority 45 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-61599 is a high-severity Unsafe Reflection (CWE-470) vulnerability. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Reflective Code Loading (T1620); ranked at the 47th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-6 (Least Privilege) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, the djust live transport resolves the LiveView to mount from a client-supplied dotted path by calling `__import__(module_path, ...)`. The module is imported — running…

more

its top-level code (import side effects) — before the framework checks that the resolved object is a `LiveView` subclass and before any per-view authentication. The `LIVEVIEW_ALLOWED_MODULES` allowlist that should contain this is fail-open (`if allowed_modules:` — skipped when the setting is unset, the framework default) and uses loose `startswith` matching. An unauthenticated WebSocket client (the WS handshake does not require auth; per-view auth runs only after import + instantiate) can therefore send a `mount` / `live_redirect_mount` / `url_change` frame (or an SSE mount) with `view = "<any.importable.module>.AnyName"` and cause the server to import — and execute the top-level code of — any importable Python module by name. Version 1.0.7 fixes the issue with a fail-closed resolution gate (`djust._view_resolution.is_view_import_allowed`): a client view path resolves only if (a) its module is already loaded (`sys.modules` — so resolving runs no new code; URL-routed views loaded by URLconf at startup keep working with zero config) or (b) it matches `LIVEVIEW_ALLOWED_MODULES` on a module-segment boundary (explicit opt-in for lazily-imported views). The gate runs before `__import__` at all three sinks (+ defense-in-depth inside `_instantiate_view`). As a workaround, set `LIVEVIEW_ALLOWED_MODULES` to the narrow list of modules that contain your mountable LiveView classes. (Note: pre-patch the allowlist is `startswith`-matched and the import still precedes the subclass check, so this is mitigation, not a complete fix.)

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1620 Reflective Code Loading Stealth
Adversaries may reflectively load code into a process in order to conceal the execution of malicious payloads.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-8178Shared CWE-470
CVE-2026-33157Shared CWE-470
CVE-2026-93762Shared CWE-470
CVE-2024-8015Shared CWE-470
CVE-2026-82078Shared CWE-470
CVE-2026-66269Shared CWE-470
CVE-2026-44174Shared CWE-470
CVE-2026-32264Shared CWE-470
CVE-2023-6943Shared CWE-470
CVE-2026-48817Shared CWE-470

Affected Assets

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Enforces authorization checks on the code or classes ultimately invoked, blocking unauthorized selections even if reflection is used.

Limits privileges of any code reached through unsafe reflection, reducing blast radius without stopping the selection itself.

Input validation directly stops externally supplied class or method names from selecting improper code via reflection.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover unsafe reflection during code review or scanning.

PR.PS-05 partial match
prevents

Preventing execution of unauthorized code can block exploitation of unsafe reflection at runtime.

PR.PS-06 partial match
prevents

Secure SDLC practices directly avoid introducing externally controlled class selection via reflection.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Secure development lifecycle mandates input validation and design reviews that reduce unsafe reflection risks.

prevents

Application security requirements can explicitly prohibit or constrain reflection based on untrusted input.

prevents

Secure architecture principles discourage dynamic class loading from external data sources.

prevents

Secure coding standards directly forbid unsafe reflection and require whitelisting or static alternatives.

References