CVE-2025-5475
Executive Summary
CVE-2025-5475 is a critical integer overflow vulnerability in the Bluetooth packet handling of the Sony XAV-AX8500 in-car infotainment system. An attacker who can pair a malicious Bluetooth device with the target can trigger an integer overflow before a memory write operation, leading to remote code execution in the context of the elysian-bt-service process. The vulnerability has a CVSS score of 7.5 (High) and currently has no known patch or public exploit code. The EPSS score is 0.0%, indicating low exploitation likelihood at this time, but the impact is severe for affected users.
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 ecosystem (NPM, PyPI, Go, Ruby). It is a firmware-level issue in a proprietary Sony embedded system. No supply chain package security implications apply.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Adjacent Network (AV:A) – Requires Bluetooth proximity.
- Attack Complexity (AC): Low (AC:L) – No special conditions needed beyond pairing.
- Privileges Required (PR): None (PR:N) – No prior authentication needed.
- User Interaction (UI): Required (UI:R) – Victim must pair the attacker’s device.
- Scope (S): Unchanged (S:U) – Exploit stays within the same security authority.
- Confidentiality (C): High (C:H) – Full data access possible.
- Integrity (I): High (I:H) – Arbitrary code execution.
- Availability (A): High (A:H) – Potential denial of service or full compromise.
Threat Level: High – Exploitation requires physical proximity and user interaction, but once paired, code execution is trivial.
Deep Dive & Mechanics
The vulnerability resides in the Bluetooth packet handling routine of the elysian-bt-service process on the Sony XAV-AX8500. When processing incoming Bluetooth packets, the software fails to validate the size of user-supplied data before using it in a memory allocation or copy operation. This leads to an integer overflow: a large or crafted length value wraps around to a small value, causing a buffer allocation that is too small. Subsequent memory write operations then overflow the buffer, corrupting adjacent memory and allowing an attacker to overwrite function pointers or return addresses.
Root Cause: Lack of proper bounds checking on packet length fields before arithmetic operations. The integer overflow occurs when the length is multiplied or added to a base value, resulting in a small positive integer that passes validation but leads to a heap or stack buffer overflow.
Attack Flow:
- Attacker pairs a malicious Bluetooth device with the Sony XAV-AX8500.
- Attacker sends a specially crafted Bluetooth packet with an oversized length field.
- The
elysian-bt-serviceprocess processes the packet, triggering an integer overflow. - The overflow causes a buffer to be allocated too small.
- Attacker-controlled data overwrites critical memory structures.
- Code execution is achieved in the context of the
elysian-bt-serviceprocess.
Vulnerable vs. Patched Code
Since no patch is available, a hypothetical fix would involve adding integer overflow checks before memory operations.
Vulnerable Code (C-like pseudocode):
void process_bluetooth_packet(Packet *pkt) {
uint16_t length = pkt->length;
uint8_t *buffer = malloc(length + HEADER_SIZE); // Integer overflow possible
if (buffer == NULL) return;
memcpy(buffer, pkt->data, length); // Overflow write
// ... process buffer
}
Patched Code (Hypothetical):
void process_bluetooth_packet(Packet *pkt) {
uint16_t length = pkt->length;
if (length > MAX_PACKET_SIZE || (length + HEADER_SIZE) < length) {
// Integer overflow detected
return;
}
uint8_t *buffer = malloc(length + HEADER_SIZE);
if (buffer == NULL) return;
memcpy(buffer, pkt->data, length);
// ... process buffer
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- A Bluetooth-capable device (e.g., Raspberry Pi with Bluetooth adapter).
- Python 3 with
pybluezor similar library. - Target Sony XAV-AX8500 in pairing mode.
Exploit Concept (No public code available):
import bluetooth
import struct
target_addr = "XX:XX:XX:XX:XX:XX" # Target MAC
sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
sock.connect((target_addr, 1))
# Craft packet with oversized length to trigger integer overflow
# Length field = 0xFFFF + 1 -> wraps to 0
packet = b"\x00" * 4 # Header
packet += struct.pack(">H", 0xFFFF) # Length field
packet += b"A" * 0x1000 # Payload
sock.send(packet)
sock.close()
Note: This is a conceptual example. Actual exploitation requires reverse engineering the firmware to determine exact offsets and payload structure.
Blue Team
Detection Strategy:
- Monitor Bluetooth pairing events and packet sizes.
- Look for anomalous Bluetooth packets with extremely large or malformed length fields.
- Use network monitoring tools to capture Bluetooth traffic (e.g., Ubertooth, Wireshark with BTLE plugin).
Lab Setup:
- Sony XAV-AX8500 in a Faraday cage to isolate RF.
- Bluetooth sniffer (e.g., Ubertooth One) to capture packets.
- Python script to replay and fuzz packets.
Indicators of Compromise (IOCs)
- Network: Bluetooth packets with length fields > 0x7FFF or causing integer overflow.
- Process:
elysian-bt-servicecrash or abnormal memory usage. - File: Unexpected files written to
/tmp/or/var/on the device. - Log: System logs showing Bluetooth stack errors or memory corruption.
Example IOC (YARA rule for memory):
rule CVE_2025_5475_Memory_Overflow {
meta:
description = "Detects memory patterns from CVE-2025-5475 exploitation"
author = "Valters IT"
date = "2025-04-10"
strings:
$overflow_pattern = { 41 41 41 41 41 41 41 41 } // 'AAAAAAAA' overflow
condition:
$overflow_pattern
}
Detection Engineering
YARA Rule
rule CVE_2025_5475_Bluetooth_Packet {
meta:
description = "Detects malicious Bluetooth packets targeting CVE-2025-5475"
author = "Valters IT"
date = "2025-04-10"
strings:
$length_overflow = { FF FF } // 0xFFFF length field
$header_magic = { 00 00 00 01 } // Example header
condition:
$header_magic at 0 and $length_overflow at 4
}
Sigma Rule
title: CVE-2025-5475 Bluetooth Packet Anomaly
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects oversized Bluetooth packets indicative of CVE-2025-5475 exploitation
author: Valters IT
date: 2025-04-10
logsource:
category: bluetooth
product: linux
detection:
selection:
packet_length: 0xFFFF
condition: selection
falsepositives:
- Legitimate Bluetooth firmware updates
level: high
Suricata Rule
alert bluetooth any any -> any any (msg:"CVE-2025-5475 Bluetooth Integer Overflow Attempt"; content:"|FF FF|"; offset:4; depth:2; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable Bluetooth on the Sony XAV-AX8500 if not required.
- Avoid pairing unknown or untrusted Bluetooth devices.
- Monitor for firmware updates from Sony.
Long-term Fix:
- Sony must release a firmware update that adds integer overflow checks in the Bluetooth packet handling routine.
- Implement input validation for all packet length fields.
Workaround:
- Use a Bluetooth firewall or disable Bluetooth service via device settings.
Detection:
- Deploy the provided YARA, Sigma, and Suricata rules to monitor for exploitation attempts.
Valters IT
Securing Digital Frontiers
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.