flawopen.com/Teardowns/cve-2026-76504-cisco-sdwan-api-authentication-bypass
CVE-2026-76504: Cisco SD-WAN Manager में प्रमाणीकरण बाइपास
CVE-2026-76504 से बिना प्रमाणीकरण वाला दूरस्थ हमलावर Cisco Catalyst SD-WAN Manager के API प्रमाणीकरण नियम को बाइपास करके व्यवस्थापक अधिकारों से API तक पहुँच सकता है। Cisco ने सक्रिय शोषण की पुष्टि की है; अपनी शाखा के सुधारे गए संस्करण पर अपग्रेड करें और सिस्टम को सुरक्षित मानने से पहले Manager की जाँच करें।[1], [5]
एक ऐसे सुरक्षित दरवाज़े की कल्पना करें जिसकी जाँच केवल पते की एक लिखावट पहचानती है। हमलावर URI encoding से लिखावट बदलता है; सिस्टम का एक हिस्सा उसे वही दरवाज़ा मानता है, जबकि सुरक्षा नियम ऐसा नहीं करता। Cisco के अनुसार इस अंतर से अनुरोध प्रमाणीकरण को छोड़कर व्यवस्थापक के रूप में API तक पहुँच सकता था। सुधार में पते को एकसमान ढंग से संभालना और वही पहुँच नियम लागू करना चाहिए; ऑपरेटरों के लिए Cisco का समर्थित उपाय सॉफ़्टवेयर अपग्रेड है।[1]
इस पेज के मुख्य शब्द
URI encoding- URL path के अक्षरों को percent-encoded bytes से दर्शाने का तरीका। सभी परतों को path को एकसमान ढंग से decode और compare करना चाहिए।[1], [7]
प्रमाणीकरण बाइपास- अनुरोध किसी सुरक्षित फ़ंक्शन तक पहुँच जाता है, जबकि सिस्टम आवश्यक तरीके से अनुरोधकर्ता की पहचान स्थापित नहीं करता।[1]
API session rule- Manager का नियम जो endpoint तक पहुँचने से पहले जाँचता है कि API अनुरोध के पास वैध प्रमाणीकृत session है या नहीं।[1]
फ्रेमवर्क मैपिंग
- इस गाइड में बताई गई कमजोरी के लिए CWE संदर्भ: CWE-177
- OWASP Top 10:2025 — A01:2025 Broken Access Control
- CISA KEV — जोड़ा गया 2026-09-30 — CVE-2026-76504
मूल कारण विश्लेषण (Root Cause)
Cisco के अनुसार CVE-2026-76504 का कारण Catalyst SD-WAN Manager के API session-आधारित प्रमाणीकरण में HTTP अनुरोधों के URI encoding का अनुचित प्रबंधन है। विशेष रूप से बनाया गया अनुरोध किसी विशिष्ट API endpoint को सीमित करने वाले प्रमाणीकरण नियम को बाइपास करके व्यवस्थापक के रूप में पहुँच पा सकता है। Cisco ने इसे CVSS 3.1 9.8 Critical रेट किया, कहा कि सिस्टम configuration की परवाह किए बिना उत्पाद प्रभावित है, और बताया कि PSIRT को सितंबर 2026 में सक्रिय शोषण का पता चला। Advisory में URI-encoded j_security_check अनुरोध IOC के उदाहरण के रूप में है और स्पष्ट चेतावनी है कि URI में encode किया गया कोई भी एक अक्षर इस्तेमाल किया जा सकता है; इस उदाहरण को पूर्ण detection signature न मानें। Cisco vulnerable source या patch diff प्रकाशित नहीं करता, इसलिए नीचे दिया code pair authorization design का उदाहरण है, Cisco का code या reproduction नहीं। Cisco शाखा के अनुसार fixed releases देता है और कहता है कि समस्या का पूरा समाधान करने वाला कोई workaround नहीं है। Network restriction और Live Protect shield अस्थायी mitigation हैं; shield वैध login को प्रभावित कर सकता है और upgrade का विकल्प नहीं है।[1], [5]
डिप्लॉयमेंट के अनुसार CVE-2026-76504 के ठीक किए गए संस्करण
| डिप्लॉयमेंट / शाखा | ठीक किया गया संस्करण | ज़रूरी कार्रवाई |
|---|---|---|
| 20.9 से पुराने ऑन-प्रिमाइज़ रिलीज़ | प्रकाशित सुधार वाले समर्थित संस्करण पर माइग्रेट करें। | माइग्रेट करें; पुराने असमर्थित संस्करण पर न रहें। |
| ऑन-प्रिमाइज़ 20.9 शाखा | 20.9.10.1 | हर Manager को इस या समर्थित शाखा के बाद के संस्करण पर अपडेट करें। |
| ऑन-प्रिमाइज़ 20.12 शाखा | 20.12.8.2 | हर Manager को इस या समर्थित शाखा के बाद के संस्करण पर अपडेट करें। |
| ऑन-प्रिमाइज़ 20.15 शाखा | 20.15.6.1 | हर Manager को इस या समर्थित शाखा के बाद के संस्करण पर अपडेट करें। |
| ऑन-प्रिमाइज़ 20.18 शाखा | 20.18.4.1 | हर Manager को इस या समर्थित शाखा के बाद के संस्करण पर अपडेट करें। |
| ऑन-प्रिमाइज़ 26.1 शाखा | 26.1.2.1 | हर Manager को इस या समर्थित शाखा के बाद के संस्करण पर अपडेट करें। |
| ऑन-प्रिमाइज़ 26.2 शाखा | 26.2.1 | हर Manager को इस या समर्थित शाखा के बाद के संस्करण पर अपडेट करें। |
| Cisco SD-WAN Cloud (Cisco Managed) | 20.15.605 या नया; Cisco के अनुसार hosted service ठीक है। | पुष्टि करें कि आप managed service उपयोग करते हैं; hosted rollout के लिए ग्राहक कार्रवाई आवश्यक नहीं है। |
हमले का चरण-दर-चरण प्रवाह
दूरस्थ अनुरोध Manager API तक पहुँचता है
Account या user interaction आवश्यक नहीं है। Internet exposure जोखिम बढ़ाता है; vendor कहता है कि configuration से फर्क नहीं पड़ता।[1]
URI-encoded path प्रमाणीकरण नियम को बाइपास करता है
Cisco API session authentication में URI encoding की असंगत handling बताता है। सार्वजनिक सामग्री vulnerable implementation नहीं दिखाती।[1]
सोर्स कोड: कमज़ोर बनाम सुरक्षित कार्यान्वयन
Cisco vulnerable source code या patch diff प्रकाशित नहीं करता। यह Python उदाहरण सामान्य design rule दिखाता है, Cisco code नहीं: routing और authorization में एक ही validated canonical request target इस्तेमाल करें और protected endpoints पर authenticated identity अनिवार्य करें। Router/framework के documented normalization semantics का पालन करें; ad hoc decoding या double decoding न जोड़ें। CVE-2026-76504 का समर्थित समाधान Cisco द्वारा शाखा के लिए बताए गए fixed release पर upgrade करना है।[1], [7]
सोर्स अंश: URI canonicalization और authorization boundary का Python उदाहरण; Cisco source code नहीं
from urllib.parse import unquote, urlsplit
def dispatch(raw_target, session, routes):
# एक लेयर अभी भी एन्कोडेड पथ की जाँच करती है।
path_for_auth = urlsplit(raw_target).path
if path_for_auth.startswith("/api/") and session is None:
raise PermissionError("authentication required")
# बाद की लेयर रूट खोजने से पहले डिकोड करती है। दोनों निर्णय अलग हो सकते हैं।
route_path = unquote(path_for_auth)
return routes[route_path]()
import re
from urllib.parse import unquote, urlsplit
def canonical_path(raw_target):
raw_path = urlsplit(raw_target).path
if re.search(r"%(?![0-9A-Fa-f]{2})", raw_path):
raise ValueError("malformed URI encoding")
path = unquote(raw_path, errors="strict")
if "%" in path or "\\" in path:
raise ValueError("ambiguous path encoding")
if any(part in {".", ".."} for part in path.split("/")):
raise ValueError("path traversal segment")
return path
def dispatch(raw_target, session, routes):
path = canonical_path(raw_target) # Decode and validate exactly once.
route = routes.get(path)
if route is None:
raise LookupError("route not found")
requires_authentication, handler = route
if requires_authentication and session is None:
raise PermissionError("authentication required")
return handler()
इंजीनियरिंग और सिस्टम सुरक्षा चेकलिस्ट
- ✓Cluster members और disaster-recovery sites सहित सभी Catalyst SD-WAN Managers की सूची बनाएँ; software branch और exact build दर्ज करें।[1], [2]
- ✓हर on-premises Manager को Cisco द्वारा बताए गए उसके वर्तमान major release के भीतर पहले fixed release पर upgrade करें; TAC के स्पष्ट निर्देश के बिना किसी उच्चतर major release पर न जाएँ। 20.9 से पुराने release को Cisco की compatibility guidance के अनुसार supported fixed branch पर migrate करें।[1], [2]
- ✓Upgrade से पहले हर Manager, cluster member और DR site से Log और Tech चुने हुए admin-tech files लें; IOC नतीजों की प्रतीक्षा में patch न रोकें।[2]
- ✓शीर्षक में
CVE-2026-76504के साथ Cisco TAC Severity 3 case खोलें और files को IOC review के लिए भेजें; compromise मिले तो TAC की remediation मानें।[1], [2] - ✓
serviceproxy-access.logऔरvmanage-server.logमें अज्ञात या unauthorized addresses सेj_security_checkrequests औरviptela-reserved-accounts की असामान्य गतिविधि देखें;%6aएक उदाहरण है, पूरा signature नहीं।[1] - ✓सभी Managers upgrade होने तक management access को trusted hosts तक सीमित करें और control components को filtering device के पीछे रखें; यह अस्थायी exposure reduction है, fix नहीं।[1]
- ✓Login पर संभावित असर जाँचने के बाद Live Protect shield को केवल temporary partial protection मानें; software upgrade फिर भी करें।[1]
- ✓Cisco SD-WAN Cloud (Cisco Managed) में service version 20.15.605 या बाद का बताए, यह जाँचें; Cisco के अनुसार managed rollout के लिए ग्राहक कार्रवाई आवश्यक नहीं है।[1], [2]
स्रोत
- Cisco Security Advisory — CVE-2026-76504
- Cisco remediation workflow for the September 2026 SD-WAN advisory
- Cyber Security Agency of Singapore active-exploitation advisory
- Canadian Centre for Cyber Security advisory AV26-978
- CISA Known Exploited Vulnerabilities Catalog — CVE-2026-76504
- NVD record — CVE-2026-76504
- MITRE CWE-177 — Improper Handling of URL Encoding