← Back to CVE Explorer

CVE-2026-104739

Full vulnerability record from the local CVENow database.

Description

The JS Help Desk – AI-Powered Support & Ticketing System plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the setSupportCustomImage function in all versions up to, and including, 5.0.1. This makes it possible for authenticated attackers, with administrator-level access and above, to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). Exploitation requires a two-step sequence: an administrator first saves a traversal-crafted value in the support_custom_img configuration field, then triggers deletion by uploading a new support custom image, at which point setSupportCustomImage() resolves and deletes the attacker-controlled path.

Severity
MEDIUM
CVSS score
4.9 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-10-30 18:17:15.557000
Last modified
2026-10-30 19:17:58.083000
View original CVE JSON
{
  "id": "CVE-2026-104739",
  "sourceIdentifier": "[email protected]",
  "published": "2026-10-30T18:17:15.557",
  "lastModified": "2026-10-30T19:17:58.083",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The JS Help Desk – AI-Powered Support & Ticketing System plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the setSupportCustomImage function in all versions up to, and including, 5.0.1. This makes it possible for authenticated attackers, with administrator-level access and above, to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). Exploitation requires a two-step sequence: an administrator first saves a traversal-crafted value in the support_custom_img configuration field, then triggers deletion by uploading a new support custom image, at which point setSupportCustomImage() resolves and deletes the attacker-controlled path."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "rabilal",
          "product": "JS Help Desk – AI-Powered Support & Ticketing System",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "lessThanOrEqual": "5.0.1",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N",
          "baseScore": 4.9,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "HIGH",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 1.2,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-10-30T17:33:45.083316Z",
          "id": "CVE-2026-104739",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://plugins.trac.wordpress.org/browser/js-support-ticket/tags/4.0.0/modules/configuration/model.php#L207",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/js-support-ticket/tags/4.0.0/modules/configuration/model.php#L278",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/js-support-ticket/tags/4.0.0/modules/configuration/model.php#L306",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/changeset?reponame=&old=3755880%40js-support-ticket&new=3755880%40js-support-ticket",
      "source": "[email protected]"
    },
    {
      "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/9e5a3d9a-8114-450a-b101-3cd5a7b694e1?source=cve",
      "source": "[email protected]"
    }
  ]
}