Skip to content
Heist/ feed
Back to feed
Medium

OPNsense: OpenVPN Client Specific Override common_name allows path traversal in generated CSO files

Type: advisorySources: OSV

OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the OpenVPN Client Specific Override common_name field accepts path traversal sequences and openvpn_csc_conf_write() concatenates the value into /var/etc/openvpn-csc// without normalization or a basename check. The affected event handlers are client_connect.php and user_pass_verify.php. An authenticated user with Client Specific Override privileges can store the traversal value, and a matching OpenVPN client-connect or authentication event causes a generated CSO file to be written outside the intended directory. The file content is generated OpenVPN configuration rather than arbitrary bytes, and practical exploitation requires the attacker to cause a matching common name or username to be processed. This issue is fixed in version 26.1.11.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-58393
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 16:57 UTC · Revision 1

Source evidence

OPNsense: OpenVPN Client Specific Override common_name allows path traversal in generated CSO files

core-osv · Original source

Published 15 Oct 2026, 15:15 UTC

OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the OpenVPN Client Specific Override common_name field accepts path traversal sequences and openvpn_csc_conf_write() concatenates the value into /var/etc/openvpn-csc// without normalization or a basename check. The affected event handlers are client_connect.php and user_pass_verify.php. An authenticated user with Client Specific Override privileges can store the traversal value, and a matching OpenVPN client-connect or authentication event causes a generated CSO file to be written outside the intended directory. The file content is generated OpenVPN configuration rather than arbitrary bytes, and practical exploitation requires the attacker to cause a matching common name or username to be processed. This issue is fixed in version 26.1.11.

osv:CVE-2026-58393
Complete source record
{
  "id": "49ee2af740b252fafd02904314bba13dfc0a918a9dfd07c7720626a4398c71d4",
  "url": "https://osv.dev/vulnerability/CVE-2026-58393",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "OPNsense: OpenVPN Client Specific Override common_name allows path traversal in generated CSO files",
    "summary": "OPNsense is a FreeBSD based firewall and routing platform. Prior to version 26.1.11, the OpenVPN Client Specific Override common_name field accepts path traversal sequences and openvpn_csc_conf_write() concatenates the value into /var/etc/openvpn-csc// without normalization or a basename check. The affected event handlers are client_connect.php and user_pass_verify.php. An authenticated user with Client Specific Override privileges can store the traversal value, and a matching OpenVPN client-connect or authentication event causes a generated CSO file to be written outside the intended directory. The file content is generated OpenVPN configuration rather than arbitrary bytes, and practical exploitation requires the attacker to cause a matching common name or username to be processed. This issue is fixed in version 26.1.11.",
    "evidence": "osv:CVE-2026-58393",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-58393",
      "aliases": [
        "CVE-2026-58393",
        "GHSA-2m9v-p7r9-gfcw"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/opnsense/core",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "c930ab586ffe2d2e010e5135657e5e054316ff58"
                },
                {
                  "fixed": "3af496143a19153c18b2f9458b2510d58aff2b98"
                },
                {
                  "fixed": "6101b3e2c90482111f420a47775c14a447441a72"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "26.1.11"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "3af496143a19153c18b2f9458b2510d58aff2b98"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "6101b3e2c90482111f420a47775c14a447441a72"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "26.1.10",
            "26.1.9",
            "26.7.b",
            "26.1.8",
            "26.1.6",
            "26.1.7",
            "26.1.5",
            "26.1.4",
            "26.1.3",
            "26.1.2",
            "26.1.1",
            "26.1",
            "26.7.a",
            "26.1.r2",
            "26.1.r1",
            "26.1.r",
            "26.1.b",
            "26.1.a",
            "25.7.r",
            "25.7.b",
            "25.7.a",
            "25.1.r",
            "25.1.b",
            "25.1.a",
            "24.7.r",
            "24.7.b",
            "24.7.a",
            "24.1.r",
            "24.1.b",
            "24.1.a",
            "23.7.r",
            "23.7.b",
            "23.7.a",
            "23.1.r",
            "23.1.b",
            "23.1.a",
            "22.7.r",
            "22.7.b",
            "22.7.a",
            "22.1.r",
            "22.1.b",
            "22.1.a",
            "21.7.r",
            "21.7.b",
            "21.7.a",
            "21.1.r",
            "21.1.b",
            "21.1.a",
            "20.7.r",
            "20.7.b",
            "20.7.a",
            "20.1.r",
            "20.1.b",
            "20.1.a",
            "19.7.r",
            "19.7.b",
            "19.7.a",
            "19.1.r",
            "19.1.b",
            "19.1.a",
            "18.7.r",
            "18.7.b",
            "18.7.a",
            "18.1.r",
            "18.1.b",
            "18.1.a",
            "17.7.r",
            "17.7.b",
            "17.7.a",
            "17.1.r",
            "17.1.b",
            "17.1.a",
            "16.7.r",
            "16.7.b",
            "16.7.a",
            "15.7",
            "15.1.12",
            "15.1.11.4",
            "15.1.11.3",
            "15.1.11.2",
            "15.1.11.1",
            "15.1.11",
            "15.1.10.2",
            "15.1.10",
            "15.1.9.2",
            "15.1.9.1",
            "15.1.9",
            "15.1.8.4",
            "15.1.8.3",
            "15.1.8.2",
            "15.1.8.1",
            "15.1.8",
            "15.1.7.2",
            "15.1.7.1",
            "15.1.7",
            "15.1.6.1",
            "15.1.6",
            "15.1.5",
            "15.1.4",
            "15.1.3",
            "15.1.2",
            "15.1.1",
            "15.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-58393.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.726824989Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58393.json",
        "https://github.com/opnsense/core/security/advisories/GHSA-2m9v-p7r9-gfcw",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-58393",
        "https://github.com/opnsense/core/commit/3af496143a19153c18b2f9458b2510d58aff2b98",
        "https://github.com/opnsense/core/commit/6101b3e2c90482111f420a47775c14a447441a72"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58393.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-58393",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497645,
  "published_at": "2026-10-15T15:15:45.924+00:00"
}