2026-02-06 20:58CVE-2026-25581GitHub_M
PUBLISHED5.2CWE-79

SCEditor affected by DOM XSS via emoticon URL/HTML injection

SCEditor is a lightweight WYSIWYG BBCode and XHTML editor. Prior to 3.2.1, if an attacker has the ability control configuration options passed to sceditor.create(), like emoticons, charset, etc. then it's possible for them to trigger an XSS attack due to lack of sanitisation of configuration options. This vulnerability is fixed in 3.2.1.

Problem type

Affected products

samclarke

SCEditor

< 3.2.1 - AFFECTED

References

GitHub Security Advisories

GHSA-25fq-6qgg-qpj8

SCEditor has DOM XSS via emoticon URL/HTML injection

https://github.com/advisories/GHSA-25fq-6qgg-qpj8

If an attacker has the ability control configuration options passed to sceditor.create(), like emoticons, charset, etc. then it's possible for them to trigger an XSS attack due to lack of sanitisation of configuration options.

Proof of concept:

sceditor.create(textarea, {
  emoticons: {
    dropdown: { ':)': { url: 'x" onerror="window.__xss = true' } }
  }
});

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-25581
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-25581",
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "dateUpdated": "2026-02-06T20:58:02.788Z",
    "dateReserved": "2026-02-03T01:02:46.715Z",
    "datePublished": "2026-02-06T20:58:02.788Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M",
        "dateUpdated": "2026-02-06T20:58:02.788Z"
      },
      "title": "SCEditor affected by DOM XSS via emoticon URL/HTML injection",
      "descriptions": [
        {
          "lang": "en",
          "value": "SCEditor is a lightweight WYSIWYG BBCode and XHTML editor. Prior to 3.2.1, if an attacker has the ability control configuration options passed to sceditor.create(), like emoticons, charset, etc. then it's possible for them to trigger an XSS attack due to lack of sanitisation of configuration options. This vulnerability is fixed in 3.2.1."
        }
      ],
      "affected": [
        {
          "vendor": "samclarke",
          "product": "SCEditor",
          "versions": [
            {
              "version": "< 3.2.1",
              "status": "affected"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')",
              "cweId": "CWE-79",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/samclarke/SCEditor/security/advisories/GHSA-25fq-6qgg-qpj8",
          "name": "https://github.com/samclarke/SCEditor/security/advisories/GHSA-25fq-6qgg-qpj8",
          "tags": [
            "x_refsource_CONFIRM"
          ]
        },
        {
          "url": "https://github.com/samclarke/SCEditor/commit/5733aed4f0e257cb78e1ba191715fc458cbd473d",
          "name": "https://github.com/samclarke/SCEditor/commit/5733aed4f0e257cb78e1ba191715fc458cbd473d",
          "tags": [
            "x_refsource_MISC"
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "version": "3.1",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N",
            "attackVector": "NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "LOW",
            "userInteraction": "REQUIRED",
            "scope": "CHANGED",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "availabilityImpact": "NONE",
            "baseScore": 5.4,
            "baseSeverity": "MEDIUM"
          }
        }
      ]
    }
  }
}