Skip to content
Heist/ feed
Back to feed
Critical

Termix: OS command injection in ACME/Let's Encrypt certificate-request handler via admin-controlled domain/email

Type: advisorySources: OSV

Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. From 2.4.1 until 2.5.1, an authenticated Termix administrator can store attacker-controlled domain and email values through PATCH /users/acme-ssl-settings and trigger their interpolation into a certbot shell command through POST /users/acme-ssl-request. In src/backend/database/routes/acme-ssl-routes.ts, child_process.execSync invokes /bin/sh -c with those values only wrapped in double quotes, so shell metacharacters can execute arbitrary operating-system commands as the Termix backend process. Both HTTP webroot and DNS Cloudflare challenge modes are affected, and compromise exposes Termix databases, process secrets, stored credentials, and network reachability. This issue is fixed in version 2.5.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-79766
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 20:03 UTC · Revision 1

Source evidence

Termix: OS command injection in ACME/Let's Encrypt certificate-request handler via admin-controlled domain/email

core-osv · Original source

Published 24 Sept 2026, 16:00 UTC

Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. From 2.4.1 until 2.5.1, an authenticated Termix administrator can store attacker-controlled domain and email values through PATCH /users/acme-ssl-settings and trigger their interpolation into a certbot shell command through POST /users/acme-ssl-request. In src/backend/database/routes/acme-ssl-routes.ts, child_process.execSync invokes /bin/sh -c with those values only wrapped in double quotes, so shell metacharacters can execute arbitrary operating-system commands as the Termix backend process. Both HTTP webroot and DNS Cloudflare challenge modes are affected, and compromise exposes Termix databases, process secrets, stored credentials, and network reachability. This issue is fixed in version 2.5.1.

osv:CVE-2026-79766
Complete source record
{
  "id": "5408ba7932e3954966fdf969aad64e43cf06aee1c2057be37c30abd2ee64d4c6",
  "url": "https://osv.dev/vulnerability/CVE-2026-79766",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Termix: OS command injection in ACME/Let's Encrypt certificate-request handler via admin-controlled domain/email",
    "summary": "Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities. From 2.4.1 until 2.5.1, an authenticated Termix administrator can store attacker-controlled domain and email values through PATCH /users/acme-ssl-settings and trigger their interpolation into a certbot shell command through POST /users/acme-ssl-request. In src/backend/database/routes/acme-ssl-routes.ts, child_process.execSync invokes /bin/sh -c with those values only wrapped in double quotes, so shell metacharacters can execute arbitrary operating-system commands as the Termix backend process. Both HTTP webroot and DNS Cloudflare challenge modes are affected, and compromise exposes Termix databases, process secrets, stored credentials, and network reachability. This issue is fixed in version 2.5.1.",
    "evidence": "osv:CVE-2026-79766",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-79766",
      "aliases": [
        "CVE-2026-79766",
        "GHSA-pr55-25gf-5f9v"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/termix-ssh/termix",
              "type": "GIT",
              "events": [
                {
                  "introduced": "d1a8dcf3c6953515c03bbaf45112580310e90a38"
                },
                {
                  "fixed": "ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e"
                },
                {
                  "fixed": "c7a9063a72071153723e668787548766c971f029"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "2.4.1"
                      },
                      {
                        "fixed": "2.5.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c7a9063a72071153723e668787548766c971f029"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "release-2.5.1-tag"
                  }
                ]
              }
            }
          ],
          "versions": [
            "release-2.5.0-tag",
            "release-2.4.1-tag"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-79766.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:23.364170665Z",
      "provider": "osv",
      "references": [
        "https://github.com/Termix-SSH/Termix/releases/tag/release-2.5.1-tag",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/79xxx/CVE-2026-79766.json",
        "https://github.com/Termix-SSH/Termix/security/advisories/GHSA-pr55-25gf-5f9v",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-79766",
        "https://github.com/Termix-SSH/Termix/commit/c7a9063a72071153723e668787548766c971f029",
        "https://github.com/Termix-SSH/Termix/commit/ddbdd5c437c2296607dfaa4265d6f63fbc1ca92e",
        "https://github.com/Termix-SSH/Termix/pull/1067"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-78"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/79xxx/CVE-2026-79766.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-79766",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489557,
  "published_at": "2026-09-24T16:00:49.014+00:00"
}