CVE-2022-33174
📋 TL;DR
CVE-2022-33174 is an authentication bypass vulnerability in Powertek-based Power Distribution Units (PDUs) that allows attackers to access administrative credentials in cleartext without authentication. By sending a specially crafted HTTP request with an empty tmpToken cookie, attackers can bypass session checks and retrieve usernames and passwords. This affects multiple PDU brands running Powertek firmware before version 3.30.30.
💻 Affected Systems
- Power Distribution Units (PDUs) from multiple brands using Powertek firmware
📦 What is this software?
Basic Pdu Firmware by Powertekpdus
Piml Pdu Firmware by Powertekpdus
Pm Pdu Firmware by Powertekpdus
Smart Pim Firmware by Powertekpdus
Smart Pom Firmware by Powertekpdus
Smart Poms Firmware by Powertekpdus
Smart Pos Firmware by Powertekpdus
⚠️ Risk & Real-World Impact
Worst Case
Full compromise of PDU infrastructure allowing attackers to remotely power cycle critical equipment, disrupt operations, and use credentials to pivot to other network systems.
Likely Case
Attackers gain administrative access to PDUs, enabling unauthorized power control of connected devices and credential theft for further attacks.
If Mitigated
Limited to network segments with strict access controls, but still exposes credentials that could be used in credential stuffing attacks elsewhere.
🎯 Exploit Status
Exploit requires sending a single HTTP GET request with specific cookie manipulation. No special tools or skills needed.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.30.30
Vendor Advisory: Not publicly available from a central vendor source (multiple brands affected)
Restart Required: Yes
Instructions:
1. Contact your PDU vendor for firmware update 3.30.30 or later. 2. Download the firmware file. 3. Access PDU web interface as admin. 4. Navigate to firmware update section. 5. Upload and apply the new firmware. 6. Reboot the PDU.
🔧 Temporary Workarounds
Network Segmentation
allIsolate PDU management interfaces from untrusted networks
Access Control Lists
linuxRestrict HTTP access to PDU web interface to authorized management IPs only
iptables -A INPUT -p tcp --dport 80 -s [TRUSTED_IP] -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -s [TRUSTED_IP] -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP
🧯 If You Can't Patch
- Disable web interface if not required and use alternative management methods
- Implement strict network segmentation with firewall rules blocking all external access to PDU management ports
🔍 How to Verify
Check if Vulnerable:
Send HTTP GET request to /cgi/get_param.cgi with Cookie: tmpToken=; and check if sys.passwd or sys.su.name values are returned in response.
Check Version:
Check web interface login page or system info page for firmware version, or use: curl -s http://[PDU_IP]/ | grep -i version
Verify Fix Applied:
After patching, attempt the same exploit request - it should return an error or empty response instead of credentials.
📡 Detection & Monitoring
Log Indicators:
- HTTP requests to /cgi/get_param.cgi with tmpToken cookie containing semicolon
- Multiple failed login attempts followed by successful credential retrieval
Network Indicators:
- HTTP GET requests to /cgi/get_param.cgi with Cookie header containing 'tmpToken=;'
- Unusual outbound connections from PDU to external IPs after exploitation
SIEM Query:
source="pdulogs" AND url="/cgi/get_param.cgi" AND cookie="*tmpToken=;*"