Skip to content
Heist/ feed
Back to feed
Medium

Cacti Cross-site Scripting vulnerability when using JavaScript based messaging API

Type: advisorySources: OSV

Cacti provides an operational monitoring and fault management framework. Versions of Cacti prior to 1.2.27 contain a residual cross-site scripting vulnerability caused by an incomplete fix for CVE-2023-50250. `raise_message_javascript` from `lib/functions.php` now uses purify.js to fix CVE-2023-50250 (among others). However, it still generates the code out of unescaped PHP variables `$title` and `$header`. If those variables contain single quotes, they can be used to inject JavaScript code. An attacker exploiting this vulnerability could execute actions on behalf of other users. This ability to impersonate users could lead to unauthorized changes to settings. Version 1.2.27 fixes this issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2024-29894
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 02:16 UTC · Revision 1

Source evidence

Cacti Cross-site Scripting vulnerability when using JavaScript based messaging API

core-osv · Original source

Published 13 May 2024, 14:24 UTC

Cacti provides an operational monitoring and fault management framework. Versions of Cacti prior to 1.2.27 contain a residual cross-site scripting vulnerability caused by an incomplete fix for CVE-2023-50250. `raise_message_javascript` from `lib/functions.php` now uses purify.js to fix CVE-2023-50250 (among others). However, it still generates the code out of unescaped PHP variables `$title` and `$header`. If those variables contain single quotes, they can be used to inject JavaScript code. An attacker exploiting this vulnerability could execute actions on behalf of other users. This ability to impersonate users could lead to unauthorized changes to settings. Version 1.2.27 fixes this issue.

osv:CVE-2024-29894
Complete source record
{
  "id": "0c72a27c4efc566b99522ab7fe7a89bb09ee62885c431a71077d1687fc0a1afb",
  "url": "https://osv.dev/vulnerability/CVE-2024-29894",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Cacti Cross-site Scripting vulnerability when using JavaScript based messaging API",
    "summary": "Cacti provides an operational monitoring and fault management framework. Versions of Cacti prior to 1.2.27 contain a residual cross-site scripting vulnerability caused by an incomplete fix for CVE-2023-50250. `raise_message_javascript` from `lib/functions.php` now uses purify.js to fix CVE-2023-50250 (among others). However, it still generates the code out of unescaped PHP variables `$title` and `$header`. If those variables contain single quotes, they can be used to inject JavaScript code. An attacker exploiting this vulnerability could execute actions on behalf of other users. This ability to impersonate users could lead to unauthorized changes to settings. Version 1.2.27 fixes this issue.",
    "evidence": "osv:CVE-2024-29894",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2024-29894",
      "aliases": [
        "CVE-2024-29894"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/cacti/cacti",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b577c294214b7e65a7273031ef8f0045d2a0c5af"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.2.27"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:cacti:cacti:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.2.27"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "release/1.2.26",
            "release/1.2.25",
            "release/1.2.24",
            "release/1.2.23",
            "release/1.2.22",
            "release/1.2.21",
            "release/1.2.20",
            "release/1.2.19",
            "releaes/1.2.19",
            "release/1.2.18",
            "release/1.2.17",
            "rel-1.2.17",
            "release/1.2.16",
            "release/1.2.15",
            "release/1.2.14",
            "release/1.2.13",
            "release/1.2.12",
            "release/1.2.11",
            "release/1.2.10",
            "release/1.2.9",
            "release/1.2.8",
            "release/1.2.7",
            "release/1.2.6",
            "release/1.2.5",
            "release/1.2.4",
            "release/1.2.3",
            "release/1.2.2",
            "release/1.2.1",
            "release/1.2.0",
            "release/1.1.38",
            "release/1.1.37",
            "release/1.1.36",
            "release/1.1.35",
            "release/1.1.34",
            "release/1.1.33",
            "release/1.1.32",
            "release/1.1.31",
            "release/1.1.30",
            "release/1.1.29",
            "release/1.1.28",
            "release/1.1.27",
            "release/1.1.26",
            "release/1.1.25",
            "release/1.1.24",
            "release/1.1.23",
            "release/1.1.22",
            "release/1.1.21",
            "release/1.1.20",
            "release/1.1.19",
            "release/1.1.18",
            "release/1.1.17",
            "release/1.1.16",
            "release/1.1.15",
            "release/1.1.14",
            "release/1.1.13",
            "release/1.1.12",
            "release/1.1.11",
            "release/1.1.8",
            "release/1.1.7",
            "release/1.1.6",
            "release/1.1.5",
            "release/1.1.4",
            "release/1.1.3",
            "release/1.1.2",
            "release/1.1.1",
            "release/1.1.0",
            "release/1.0.6",
            "release/1.0.5",
            "release/1.0.4",
            "release/1.0.3",
            "release/1.0.2",
            "release/1.0.1",
            "release/1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-29894.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:42.049103710Z",
      "provider": "osv",
      "references": [
        "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/RBEOAFKRARQHTDIYSL723XAFJ2Q6624X/",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/29xxx/CVE-2024-29894.json",
        "https://github.com/Cacti/cacti/security/advisories/GHSA-grj5-8fcj-34gh",
        "https://github.com/Cacti/cacti/security/advisories/GHSA-xwqc-7jc4-xm73",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-29894"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-116",
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/29xxx/CVE-2024-29894.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-29894",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 509442,
  "published_at": "2024-05-13T14:24:32.871+00:00"
}