CVE-2020-1660
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedWhen DNS filtering is enabled on Juniper Networks Junos MX Series with one of the following cards MS-PIC, MS-MIC or MS-MPC, an incoming stream of packets processed by the Multiservices PIC Management Daemon (mspmand) process, responsible for managing "URL Filtering service", may crash, causing the Services PIC to restart. While the Services PIC is restarting, all PIC services including DNS filtering service (DNS sink holing) will be bypassed until the Services PIC completes its boot process. This vulnerability might allow an attacker to cause an extended Denial of Service (DoS) attack against the device and to cause clients to be vulnerable to DNS based attacks by malicious DNS servers when they send DNS requests through the device. As a result, devices which were once protected by the DNS Filtering service are no longer protected and at risk of exploitation. This issue affects Juniper Networks Junos OS: 17.3 versions prior to 17.3R3-S8; 18.3 versions prior to 18.3R3-S1; 18.4 versions prior to 18.4R3; 19.1 versions prior to 19.1R3; 19.2 versions prior to 19.2R2; 19.3 versions prior to 19.3R3. This issue does not affect Juniper Networks Junos OS 17.4, 18.1, and 18.2.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceA memory corruption or handling flaw in the mspmand process on Juniper MX Series routers with MS-PIC/MS-MIC/MS-MPC cards causes the process to crash when DNS filtering is enabled and specifically crafted packets are received. This triggers an automatic Services PIC restart, during which ALL services including DNS sinkholing are completely bypassed, leaving clients exposed to malicious DNS responses.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data= 17.3= 18.3= 18.4= 19.1= 19.2= 19.3CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Changed
- Confidentiality
- Low
- Integrity
- Low
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Verify Juniper MX Series deviceRun 'show chassis hardware' or check device model to confirm it is an MX Series routerAffected if Device is not an MX Series router, then not affected by this CVE
-
Check for MS-PIC/MS-MIC/MS-MPC card presenceRun 'show chassis hardware' or 'show pic' to list installed PICs and verify an MS-PIC, MS-MIC, or MS-MPC card is presentAffected if No MS-PIC/MS-MIC/MS-MPC card is installed, then not affected by this vulnerability
-
Confirm DNS filtering is enabledRun 'show services dns-filtering' or check the DNS filtering configuration under 'services dns-filtering' hierarchyAffected if DNS filtering is disabled, the crash condition cannot be triggered even on vulnerable versions
-
Check installed Junos version against affected releasesRun 'show version' to obtain the Junos OS version and compare against 17.3, 18.3, 18.4, 19.1, 19.2, 19.3 (all versions in these trains)Affected if Version falls outside the listed affected versions, the specific memory corruption flaw may not be present
-
Inspect for recent mspmand process crashesRun 'show system processes extensive' or check system logs (syslog) for mspmand crash events and subsequent Services PIC restartsAffected if Recent mspmand crashes and automatic PIC restarts are observed, the environment is vulnerable and has been triggered
The device is affected if it is an MX Series with an MS-PIC/MS-MIC/MS-MPC card, DNS filtering is enabled, the Junos version is one of the affected releases listed, and either the version matches or mspmand crash/restart events are observed.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedUpgrade Junos OS to the fixed versions (17.3R3-S8, 18.3R3-S1, 18.4R3, 19.1R3, 19.2R2, 19.3R3 or later). If immediate upgrade is not possible, consider disabling DNS filtering temporarily or implementing downstream DNS security controls as compensating measures.
Upgrade to one of the fixed releases: 17.3R3-S8, 18.3R3-S1, 18.4R3, 19.1R3, 19.2R2, or 19.3R3 (or later stable release)
- 1. Identify the current Junos OS version on the affected MX Series device using 'show version'
- 2. Plan maintenance window for the upgrade as it will cause brief service interruption
- 3. Download the appropriate fixed Junos OS release for your current version branch from the Juniper networks website
- 4. Upload the Junos OS upgrade package to the device using 'file copy' or FTP/SCP
- 5. Install the upgrade using 'request system software add <package-name>' command
- 6. Reboot the device using 'request system reboot' command
- 7. After reboot, verify the new version using 'show version' and confirm DNS filtering is functioning properly
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation6.0 h
- Testing8.0 h
- Review / QA4.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $6,080.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2020-1660 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2020-1660 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data