Skip to content
Heist/ feed
Back to feed
Critical

knowns before 0.31.0 External Control of Agent Working Directory via x-opencode-directory Header

Type: advisorySources: OSV

knowns versions before 0.31.0 fail to properly validate the x-opencode-directory request header in the /api/opencode proxy endpoint. Remote attackers can supply arbitrary directory paths to execute file operations outside the project root on the host system.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-88899
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 02:52 UTC · Revision 1

Source evidence

knowns before 0.31.0 External Control of Agent Working Directory via x-opencode-directory Header

core-osv · Original source

Published 10 Sept 2026, 15:28 UTC

knowns versions before 0.31.0 fail to properly validate the x-opencode-directory request header in the /api/opencode proxy endpoint. Remote attackers can supply arbitrary directory paths to execute file operations outside the project root on the host system.

osv:CVE-2026-88899
Complete source record
{
  "id": "400e0a59842a58a47e9a7ab7f3d09eeed0545d227dee6f84f59ff5cfda30d1c7",
  "url": "https://osv.dev/vulnerability/CVE-2026-88899",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "knowns before 0.31.0 External Control of Agent Working Directory via x-opencode-directory Header",
    "summary": "knowns versions before 0.31.0 fail to properly validate the x-opencode-directory request header in the /api/opencode proxy endpoint. Remote attackers can supply arbitrary directory paths to execute file operations outside the project root on the host system.",
    "evidence": "osv:CVE-2026-88899",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-88899",
      "aliases": [
        "CVE-2026-88899",
        "GHSA-9h2q-r9fh-f98w"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/knowns-dev/knowns",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "193ab83f6dbe1a6d4a0cf63283c57d6a93bea9ef"
                },
                {
                  "fixed": "37db0561b37b48b8bd035a417d7f1da6258ae657"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.31.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "37db0561b37b48b8bd035a417d7f1da6258ae657"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "193ab83f6dbe1a6d4a0cf63283c57d6a93bea9ef"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v0.31.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.30.0",
            "v0.29.1",
            "v0.29.0",
            "v0.28.0",
            "v0.27.1",
            "v0.27.0",
            "v0.23.0",
            "v0.26.0",
            "v0.25.0",
            "v0.24.1",
            "v0.24.0",
            "v0.22.2",
            "v0.22.1",
            "v0.22.0",
            "v0.21.0",
            "v0.20.5",
            "v0.20.4",
            "v0.20.3",
            "v0.20.2",
            "v0.20.1",
            "v0.20.0",
            "v0.19.2",
            "v0.19.1",
            "v0.19.0",
            "v0.18.4",
            "v0.18.3",
            "v0.18.2",
            "v0.18.1",
            "v0.18.0",
            "v0.17.1",
            "v0.17.0",
            "v0.16.3",
            "v0.16.2",
            "v0.16.1",
            "v0.16.0",
            "v0.15.3",
            "v0.15.2",
            "v0.15.1",
            "v0.15.0",
            "v0.12.4",
            "v0.12.3",
            "v0.12.2",
            "v0.12.1",
            "v0.12.0",
            "v0.11.4",
            "v0.11.3",
            "v0.11.2",
            "v0.11.1",
            "v0.11.0",
            "v0.10.6",
            "v0.10.5",
            "v0.10.4",
            "v0.10.3",
            "v0.10.2",
            "v0.10.1",
            "v0.10.0",
            "v0.9.0",
            "v0.8.9",
            "v0.8.8",
            "v0.8.7",
            "v0.8.6",
            "v0.8.5",
            "v0.8.4",
            "v0.8.3",
            "v0.8.2",
            "v0.8.1",
            "v0.8.0",
            "v0.7.0",
            "v0.6.0",
            "v0.5.0",
            "v0.4.0",
            "v0.3.1",
            "v0.3.0",
            "v0.2.1",
            "v0.2.0",
            "v0.1.8",
            "v0.1.7",
            "v0.1.6",
            "v0.1.5",
            "v0.1.4",
            "v0.1.3",
            "v0.1.2",
            "v0.1.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88899.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:49.255203989Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88899.json",
        "https://github.com/knowns-dev/knowns/releases/tag/v0.31.0",
        "https://github.com/knowns-dev/knowns/security/advisories/GHSA-9h2q-r9fh-f98w",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-88899",
        "https://www.vulncheck.com/advisories/knowns-before-0.31.0-external-control-of-agent-working-directory-via-x-opencode-directory-header",
        "https://github.com/knowns-dev/knowns/commit/37db0561b37b48b8bd035a417d7f1da6258ae657",
        "https://github.com/knowns-dev/knowns/blob/v0.30.0/internal/server/server.go#L1283-L1296"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-73"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88899.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-88899",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 517516,
  "published_at": "2026-09-10T15:28:51.729+00:00"
}