Skip to content
Heist/ feed
Back to feed
Critical

cacti — security advisory

Type: advisorySources: OSVAdvisory ID: UBUNTU-CVE-2026-39948

Cacti is an open source performance and fault management framework. In versions 1.2.30 and prior, the rfilter request parameter is retrieved via the raw accessor grv() (rather than gfrv() with FILTER_VALIDATE_IS_REGEX validation) and concatenated directly into RLIKE SQL clauses in lib/html_graph.php and lib/html_tree.php, which are reachable pre-authentication through graph_view.php on installations with guest graph viewing enabled. Because the unbalanced-quote payload bypasses the regex validation that would otherwise reject it, an unauthenticated attacker can inject arbitrary SQL to compromise the confidentiality, integrity, and availability of the database. This advisory is similar to GHSA-69gg-mjfm-jjpc. This issue has been fixed in version 1.2.31.

Products
cacti
Affected versions
0.8.8b+dfsg-3, 0.8.8b+dfsg-5, 0.8.8b+dfsg-5ubuntu0.1, 0.8.8b+dfsg-5ubuntu0.2, 0.8.8b+dfsg-5ubuntu0.2+esm1, 0.8.8b+dfsg-5ubuntu0.2+esm2, 0.8.8f+ds1-2, 0.8.8f+ds1-3, 0.8.8f+ds1-4, 0.8.8f+ds1-4ubuntu1, 0.8.8f+ds1-4ubuntu2, 0.8.8f+ds1-4ubuntu3, 0.8.8f+ds1-4ubuntu4, 0.8.8f+ds1-4ubuntu4.16.04, 0.8.8f+ds1-4ubuntu4.16.04.1, 0.8.8f+ds1-4ubuntu4.16.04.2, 0.8.8f+ds1-4ubuntu4.16.04.2+esm1, 0.8.8f+ds1-4ubuntu4.16.04.2+esm2, 1.1.18+ds1-1, 1.1.27+ds1-2, 1.1.27+ds1-3, 1.1.28+ds1-2, 1.1.35+ds1-1, 1.1.36+ds1-1, 1.1.38+ds1-1, 1.1.38+ds1-1ubuntu0.1~esm1, 1.1.38+ds1-1ubuntu0.1~esm3, 1.1.38+ds1-1ubuntu0.1~esm4, 1.2.10+ds1-1ubuntu1, 1.2.10+ds1-1ubuntu1+esm1, 1.2.10+ds1-1ubuntu1.1, 1.2.10+ds1-1ubuntu1.1+esm1, 1.2.10+ds1-1ubuntu1.1+esm2, 1.2.16+ds1-2ubuntu1, 1.2.19+ds1-2ubuntu1, 1.2.19+ds1-2ubuntu1+esm1, 1.2.19+ds1-2ubuntu1.1, 1.2.19+ds1-2ubuntu1.1+esm1, 1.2.19+ds1-2ubuntu1.1+esm2, 1.2.25+ds1-2, 1.2.26+ds1-1, 1.2.26+ds1-1ubuntu0.1, 1.2.28+ds1-4ubuntu1, 1.2.30+ds1-1ubuntu1, 1.2.30+ds1-1ubuntu2, 1.2.30+ds1-1ubuntu3, 1.2.31+ds1-3ubuntu2, 1.2.4+ds1-2ubuntu3, 1.2.9+ds1-1ubuntu1, 1.2.9+ds1-1ubuntu2
Fixed versions
Not specified
CVEs
CVE-2026-39948
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 02:10 UTC · Revision 1

Source evidence

UBUNTU-CVE-2026-39948

core-osv · Original source

Published 24 Jun 2026, 23:16 UTC

Cacti is an open source performance and fault management framework. In versions 1.2.30 and prior, the rfilter request parameter is retrieved via the raw accessor grv() (rather than gfrv() with FILTER_VALIDATE_IS_REGEX validation) and concatenated directly into RLIKE SQL clauses in lib/html_graph.php and lib/html_tree.php, which are reachable pre-authentication through graph_view.php on installations with guest graph viewing enabled. Because the unbalanced-quote payload bypasses the regex validation that would otherwise reject it, an unauthenticated attacker can inject arbitrary SQL to compromise the confidentiality, integrity, and availability of the database. This advisory is similar to GHSA-69gg-mjfm-jjpc. This issue has been fixed in version 1.2.31.

osv:UBUNTU-CVE-2026-39948

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

cacti

Fixed versions: Not specified

Complete source record
{
  "id": "ec5b2f99fa56b87afcdd04b1b0d42bd022b03569eaeaa2636abb69c04254a0de",
  "url": "https://osv.dev/vulnerability/UBUNTU-CVE-2026-39948",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "UBUNTU-CVE-2026-39948",
    "summary": "Cacti is an open source performance and fault management framework. In versions 1.2.30 and prior, the rfilter request parameter is retrieved via the raw accessor grv() (rather than gfrv() with FILTER_VALIDATE_IS_REGEX validation) and concatenated directly into RLIKE SQL clauses in lib/html_graph.php and lib/html_tree.php, which are reachable pre-authentication through graph_view.php on installations with guest graph viewing enabled. Because the unbalanced-quote payload bypasses the regex validation that would otherwise reject it, an unauthenticated attacker can inject arbitrary SQL to compromise the confidentiality, integrity, and availability of the database. This advisory is similar to GHSA-69gg-mjfm-jjpc. This issue has been fixed in version 1.2.31.",
    "evidence": "osv:UBUNTU-CVE-2026-39948",
    "products": [
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.8.8b+dfsg-3",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.8.8b+dfsg-5",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.8.8b+dfsg-5ubuntu0.1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.8.8b+dfsg-5ubuntu0.2",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.8.8b+dfsg-5ubuntu0.2+esm1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "0.8.8b+dfsg-5ubuntu0.2+esm2",
            "evidence": "/affected/0/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "0.8.8f+ds1-2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-3",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu3",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu4",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu4.16.04",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu4.16.04.1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu4.16.04.2",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu4.16.04.2+esm1",
            "evidence": "/affected/1/versions"
          },
          {
            "value": "0.8.8f+ds1-4ubuntu4.16.04.2+esm2",
            "evidence": "/affected/1/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/2/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.1.18+ds1-1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.27+ds1-2",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.27+ds1-3",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.28+ds1-2",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.35+ds1-1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.36+ds1-1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.38+ds1-1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.38+ds1-1ubuntu0.1~esm1",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.38+ds1-1ubuntu0.1~esm3",
            "evidence": "/affected/2/versions"
          },
          {
            "value": "1.1.38+ds1-1ubuntu0.1~esm4",
            "evidence": "/affected/2/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/3/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.2.4+ds1-2ubuntu3",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "1.2.9+ds1-1ubuntu1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "1.2.9+ds1-1ubuntu2",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "1.2.10+ds1-1ubuntu1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "1.2.10+ds1-1ubuntu1+esm1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "1.2.10+ds1-1ubuntu1.1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "1.2.10+ds1-1ubuntu1.1+esm1",
            "evidence": "/affected/3/versions"
          },
          {
            "value": "1.2.10+ds1-1ubuntu1.1+esm2",
            "evidence": "/affected/3/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/4/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.2.16+ds1-2ubuntu1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "1.2.19+ds1-2ubuntu1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "1.2.19+ds1-2ubuntu1+esm1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "1.2.19+ds1-2ubuntu1.1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "1.2.19+ds1-2ubuntu1.1+esm1",
            "evidence": "/affected/4/versions"
          },
          {
            "value": "1.2.19+ds1-2ubuntu1.1+esm2",
            "evidence": "/affected/4/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/5/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.2.25+ds1-2",
            "evidence": "/affected/5/versions"
          },
          {
            "value": "1.2.26+ds1-1",
            "evidence": "/affected/5/versions"
          },
          {
            "value": "1.2.26+ds1-1ubuntu0.1",
            "evidence": "/affected/5/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/6/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.2.28+ds1-4ubuntu1",
            "evidence": "/affected/6/versions"
          },
          {
            "value": "1.2.30+ds1-1ubuntu1",
            "evidence": "/affected/6/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/7/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.2.30+ds1-1ubuntu2",
            "evidence": "/affected/7/versions"
          },
          {
            "value": "1.2.30+ds1-1ubuntu3",
            "evidence": "/affected/7/versions"
          },
          {
            "value": "1.2.31+ds1-3ubuntu2",
            "evidence": "/affected/7/versions"
          }
        ]
      },
      {
        "name": {
          "value": "cacti",
          "evidence": "/affected/8/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": [
          {
            "value": "1.2.30+ds1-1ubuntu1",
            "evidence": "/affected/8/versions"
          },
          {
            "value": "1.2.30+ds1-1ubuntu2",
            "evidence": "/affected/8/versions"
          }
        ]
      }
    ],
    "severity": "critical",
    "structured": {
      "id": "UBUNTU-CVE-2026-39948",
      "aliases": [
        "UBUNTU-CVE-2026-39948"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
        },
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
        },
        {
          "type": "Ubuntu",
          "score": "medium"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=esm-infra-legacy%2Ftrusty",
            "ecosystem": "Ubuntu:Pro:14.04:LTS"
          },
          "versions": [
            "0.8.8b+dfsg-3",
            "0.8.8b+dfsg-5",
            "0.8.8b+dfsg-5ubuntu0.1",
            "0.8.8b+dfsg-5ubuntu0.2",
            "0.8.8b+dfsg-5ubuntu0.2+esm1",
            "0.8.8b+dfsg-5ubuntu0.2+esm2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "0.8.8b+dfsg-5ubuntu0.2+esm2"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=esm-apps%2Fxenial",
            "ecosystem": "Ubuntu:Pro:16.04:LTS"
          },
          "versions": [
            "0.8.8f+ds1-2",
            "0.8.8f+ds1-3",
            "0.8.8f+ds1-4",
            "0.8.8f+ds1-4ubuntu1",
            "0.8.8f+ds1-4ubuntu2",
            "0.8.8f+ds1-4ubuntu3",
            "0.8.8f+ds1-4ubuntu4",
            "0.8.8f+ds1-4ubuntu4.16.04",
            "0.8.8f+ds1-4ubuntu4.16.04.1",
            "0.8.8f+ds1-4ubuntu4.16.04.2",
            "0.8.8f+ds1-4ubuntu4.16.04.2+esm1",
            "0.8.8f+ds1-4ubuntu4.16.04.2+esm2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "0.8.8f+ds1-4ubuntu4.16.04.2+esm2"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=esm-apps%2Fbionic",
            "ecosystem": "Ubuntu:Pro:18.04:LTS"
          },
          "versions": [
            "1.1.18+ds1-1",
            "1.1.27+ds1-2",
            "1.1.27+ds1-3",
            "1.1.28+ds1-2",
            "1.1.35+ds1-1",
            "1.1.36+ds1-1",
            "1.1.38+ds1-1",
            "1.1.38+ds1-1ubuntu0.1~esm1",
            "1.1.38+ds1-1ubuntu0.1~esm3",
            "1.1.38+ds1-1ubuntu0.1~esm4"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "1.1.38+ds1-1ubuntu0.1~esm4"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=esm-apps%2Ffocal",
            "ecosystem": "Ubuntu:Pro:20.04:LTS"
          },
          "versions": [
            "1.2.4+ds1-2ubuntu3",
            "1.2.9+ds1-1ubuntu1",
            "1.2.9+ds1-1ubuntu2",
            "1.2.10+ds1-1ubuntu1",
            "1.2.10+ds1-1ubuntu1+esm1",
            "1.2.10+ds1-1ubuntu1.1",
            "1.2.10+ds1-1ubuntu1.1+esm1",
            "1.2.10+ds1-1ubuntu1.1+esm2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "1.2.10+ds1-1ubuntu1.1+esm2"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=esm-apps%2Fjammy",
            "ecosystem": "Ubuntu:Pro:22.04:LTS"
          },
          "versions": [
            "1.2.16+ds1-2ubuntu1",
            "1.2.19+ds1-2ubuntu1",
            "1.2.19+ds1-2ubuntu1+esm1",
            "1.2.19+ds1-2ubuntu1.1",
            "1.2.19+ds1-2ubuntu1.1+esm1",
            "1.2.19+ds1-2ubuntu1.1+esm2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "1.2.19+ds1-2ubuntu1.1+esm2"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=noble",
            "ecosystem": "Ubuntu:24.04:LTS"
          },
          "versions": [
            "1.2.25+ds1-2",
            "1.2.26+ds1-1",
            "1.2.26+ds1-1ubuntu0.1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "1.2.26+ds1-1ubuntu0.1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=questing",
            "ecosystem": "Ubuntu:25.10"
          },
          "versions": [
            "1.2.28+ds1-4ubuntu1",
            "1.2.30+ds1-1ubuntu1"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "1.2.30+ds1-1ubuntu1"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=stonking",
            "ecosystem": "Ubuntu:26.10"
          },
          "versions": [
            "1.2.30+ds1-1ubuntu2",
            "1.2.30+ds1-1ubuntu3",
            "1.2.31+ds1-3ubuntu2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "1.2.31+ds1-3ubuntu2"
              }
            ]
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                }
              ]
            }
          ],
          "package": {
            "name": "cacti",
            "purl": "pkg:deb/ubuntu/cacti?arch=source&distro=resolute",
            "ecosystem": "Ubuntu:26.04:LTS"
          },
          "versions": [
            "1.2.30+ds1-1ubuntu1",
            "1.2.30+ds1-1ubuntu2"
          ],
          "database_specific": {
            "source": "https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-39948.json"
          },
          "ecosystem_specific": {
            "binaries": [
              {
                "binary_name": "cacti",
                "binary_version": "1.2.30+ds1-1ubuntu2"
              }
            ]
          }
        }
      ],
      "modified": "2026-10-17T12:58:13.384243495Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-39948"
      ],
      "references": [
        "https://ubuntu.com/security/CVE-2026-39948",
        "https://www.cve.org/CVERecord?id=CVE-2026-39948",
        "https://github.com/Cacti/cacti/security/advisories/GHSA-9jqv-4cpm-vm2c",
        "https://github.com/Cacti/cacti/commit/136ae6ef0715e77bca69c0eb60781f5e17df0795"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-39948",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/1/score"
  },
  "source_id": "core-osv",
  "document_id": 358373,
  "published_at": "2026-06-24T23:16:00+00:00"
}