How to Fix CVE-2026-33785: Missing authorization in Junos OS
By Sai Kiran Pandrala. Last verified: 2026-05-25.
| Severity | 8.8 (High) |
|---|---|
| Actively exploited? | No public listing in CISA KEV |
| Affected | Juniper Networks Junos OS 24.4 to <24.4R2-S3, 25.2 to <25.2R2 |
| Fixed in | Junos OS 24.4R2-S3; Junos OS 25.2R2 |
| Type (CWE) | CWE-862: Missing Authorization |
What is CVE-2026-33785?
A Missing Authorization vulnerability in the CLI of Juniper Networks Junos OS on MX Series allows a local, authenticated user with low privileges to execute specific commands which will lead to a complete compromise of managed devices. Any user logged in, without requiring specific privileges, can issue 'request csds' CLI operational commands. These commands are only meant to be executed by high privileged or users designated for Juniper Device Manager (JDM) / Connected Security Distributed Services (CSDS) operations as they will impact all aspects of the devices managed via the respective MX. This issue affects Junos OS on MX Series: * 24.4 releases before 24.4R2-S3, * 25.2 releases before 25.2R2.
Am I affected?
From the device CLI, run the version check:
# Cisco IOS/IOS XE
show version | include Version
# FortiGate (FortiOS)
get system status
# Palo Alto (PAN-OS)
show system info | match sw-version
# Juniper (Junos)
show version
Compare what you see against the Affected row above (Juniper Networks Junos OS 24.4 to <24.4R2-S3, 25.2 to <25.2R2). If your build sits inside that range, the device is exposed and should be upgraded.
How to fix CVE-2026-33785
The primary fix is to upgrade Junos OS to the patched build. Use the commands for your platform below; the patched versions listed in the vendor advisory are: Junos OS 24.4R2-S3; Junos OS 25.2R2.
Juniper (Junos CLI)
# Vendor advisory: https://kb.juniper.net/JSA107872
show version
request system software add /var/tmp/<patched-image>.tgz no-validate reboot
Complete operator runbook (network appliance)
Run this from your management workstation (Linux/macOS or Windows with a TFTP server reachable). It shells into the device, backs up the running config, transfers the patched image, and reloads.
# Vendor advisory: https://kb.juniper.net/JSA107872
#!/usr/bin/env bash
# CVE-2026-33785 fix runbook for Juniper Networks Junos OS
# Target build: Junos OS 24.4R2-S3; Junos OS 25.2R2
set -euo pipefail
DEVICE="${1:?usage: $0 <device-ip> <patched-image-file> <tftp-server-ip>}"
IMAGE="${2:?patched image filename required}"
TFTP="${3:?tftp server ip required}"
LOG="/var/log/cve-2026-33785-$(date +%Y%m%d-%H%M%S).log"
echo "[1/4] Pulling current config from $DEVICE"
ssh admin@"$DEVICE" "show version" | tee -a "$LOG"
ssh admin@"$DEVICE" "copy running-config tftp://$TFTP/cve-2026-33785-pre.cfg"
echo "[2/4] Uploading patched image $IMAGE via TFTP"
ssh admin@"$DEVICE" "copy tftp://$TFTP/$IMAGE flash:$IMAGE" | tee -a "$LOG"
echo "[3/4] Setting boot image and reloading"
ssh admin@"$DEVICE" "configure terminal
boot system flash:$IMAGE
end
write memory
reload" | tee -a "$LOG"
echo "[4/4] Wait ~5 minutes, then verify"
sleep 300
ssh admin@"$DEVICE" "show version | include Version" | tee -a "$LOG"
echo "Compare reported version against Junos OS 24.4R2-S3; Junos OS 25.2R2"
If you can't patch immediately
If you cannot apply the patched version today, restrict exposure with one of the following runnable controls. None replace the patch.
Network appliance ACL
# Cisco IOS example: restrict management plane to a trusted subnet
configure terminal
access-list 99 permit 10.0.0.0 0.255.255.255
line vty 0 15
access-class 99 in
end
write memory
Service-level fallback
# If the affected feature is optional, stop the service until the patch is applied
sudo systemctl stop junos
sudo systemctl disable junos
How to verify the fix worked
# Linux
junos --version 2>/dev/null || dpkg -s junos | grep -i version
rpm -q junos 2>/dev/null || true
# Windows
winget list | findstr /I "junos"
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5
Expected: the reported version is at or above Junos OS 24.4R2-S3; Junos OS 25.2R2. Restart any services that loaded the old library (systemctl restart <service> on Linux, restart the Windows service or reboot when prompted). For network appliances, run show version on the device and confirm the build matches the patched release.
Frequently asked questions
Related fixes
Other vulnerabilities in the same area that are worth patching alongside this one:
- How to Fix CVE-2026-33791: OS command injection in Junos OS — OS command injection in Junos OS
- How to Fix CVE-2026-33781: Check for unusual or exceptional conditions in Junos OS — Check for unusual or exceptional conditions in Junos OS
- How to Fix CVE-2026-21905: Denial of Service in Junos OS , Denial of Service in Junos OS
- How to Fix CVE-2026-33788: Missing authentication in Junos OS Evolved , Missing authentication in Junos OS Evolved
- How to Fix CVE-2026-21914: Critical Vulnerability in Junos OS , Critical Vulnerability in Junos OS
Is CVE-2026-33785 actually being exploited?
According to the data sources above, no public confirmation of in-the-wild exploitation at this time. Either way, the fix is the same: apply the vendor patch.
Do I need to reboot after patching?
For OS or kernel updates, yes. For most userland packages a systemctl restart <service> is enough. Any process that loaded the old shared library keeps using it until restarted, so when in doubt, reboot.
What is the CVSS score?
8.8 (high). Refer to the vendor advisory for the exact vector string.
Where is the official advisory?
See the References section at the bottom of this page; the vendor's URL is the authoritative source for affected builds and patched versions.
References
- Official vendor advisory: https://kb.juniper.net/JSA107872
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-33785
*Written by Sai Kiran Pandrala. Assembled from the official vendor advisory, NVD record, and CISA KEV listing on 2026-05-25. Always confirm against the vendor's advisory before applying changes in production.*