CVE-2021-34086
📋 TL;DR
This CVE describes a Cross-Site Request Forgery (CSRF) vulnerability in Ultimaker 3D printer web APIs. Attackers can trick authenticated users into executing unauthorized actions on the printer's local web server. Affected users include those running vulnerable Ultimaker printer firmware versions.
💻 Affected Systems
- Ultimaker S3 3D printer
- Ultimaker S5 3D printer
- Ultimaker 3 3D printer
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete compromise of 3D printer functionality including unauthorized print jobs, configuration changes, firmware manipulation, or potential physical damage through malicious print commands.
Likely Case
Unauthorized print jobs, configuration changes, or disruption of ongoing print operations through CSRF attacks against authenticated users.
If Mitigated
Limited impact with proper CSRF protections, network segmentation, and user awareness about not clicking suspicious links while authenticated.
🎯 Exploit Status
CSRF attacks require user interaction but are well-understood and documented in the referenced research paper.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Versions after S-line 6.3 and Ultimaker 3 5.2.16
Vendor Advisory: https://ultimaker.com/3d-printers/
Restart Required: Yes
Instructions:
1. Access printer web interface. 2. Navigate to firmware update section. 3. Download and install latest firmware from Ultimaker. 4. Restart printer after update completes.
🔧 Temporary Workarounds
Network Segmentation
allIsolate 3D printers on separate VLAN or network segment to limit attack surface
Browser Security Extensions
allUse browser extensions that block CSRF attempts or enforce same-origin policies
🧯 If You Can't Patch
- Segment printers on isolated network with strict firewall rules
- Implement web application firewall rules to detect CSRF patterns
- Educate users about CSRF risks and safe browsing practices
🔍 How to Verify
Check if Vulnerable:
Check firmware version in printer web interface and compare against vulnerable versions (S-line ≤6.3, Ultimaker 3 ≤5.2.16)
Check Version:
Access printer web interface at http://[printer-ip]/ and navigate to system information
Verify Fix Applied:
Confirm firmware version is updated beyond vulnerable versions and test API endpoints for CSRF tokens
📡 Detection & Monitoring
Log Indicators:
- Multiple API requests from different origins in short time
- Unauthorized configuration changes in printer logs
- Print jobs initiated without user interaction
Network Indicators:
- CSRF attack patterns in HTTP requests
- API calls without proper referrer headers
- Cross-origin requests to printer APIs
SIEM Query:
source="printer_logs" AND (action="configuration_change" OR action="print_start") AND user_agent CONTAINS "malicious" OR referrer NOT IN allowed_domains
🔗 References
- https://kth.diva-portal.org/smash/get/diva2:1623489/FULLTEXT01.pdf
- https://ultimaker.com/3d-printers/ultimaker-3
- https://ultimaker.com/3d-printers/ultimaker-s3
- https://ultimaker.com/3d-printers/ultimaker-s5
- https://kth.diva-portal.org/smash/get/diva2:1623489/FULLTEXT01.pdf
- https://ultimaker.com/3d-printers/ultimaker-3
- https://ultimaker.com/3d-printers/ultimaker-s3
- https://ultimaker.com/3d-printers/ultimaker-s5