Skip to content
Heist/ feed
Back to feed
Medium

Chartbrew: DNS Rebinding SSRF Bypass in Outbound Request Validation

Type: advisorySources: OSV

Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to 5.2.2, Chartbrew's server/modules/safeRequest.js calls validateOutboundUrl() to resolve and validate a target hostname, but request-promise performs a separate DNS resolution for the actual connection. An authenticated user who can create or test API connections and controls the target DNS name can return a public address during validation and a private address during the request, bypassing the protections implemented by server/modules/outboundTargetPolicy.js. This DNS rebinding condition can expose internal services, localhost resources, or cloud metadata endpoints. This issue is fixed in version 5.2.2.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-61743
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 01:15 UTC · Revision 1

Source evidence

Chartbrew: DNS Rebinding SSRF Bypass in Outbound Request Validation

core-osv · Original source

Published 21 Sept 2026, 21:38 UTC

Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to 5.2.2, Chartbrew's server/modules/safeRequest.js calls validateOutboundUrl() to resolve and validate a target hostname, but request-promise performs a separate DNS resolution for the actual connection. An authenticated user who can create or test API connections and controls the target DNS name can return a public address during validation and a private address during the request, bypassing the protections implemented by server/modules/outboundTargetPolicy.js. This DNS rebinding condition can expose internal services, localhost resources, or cloud metadata endpoints. This issue is fixed in version 5.2.2.

osv:CVE-2026-61743
Complete source record
{
  "id": "8899a301e972f231ab475e422154ba287febb42dd733f771cca7539faaebe545",
  "url": "https://osv.dev/vulnerability/CVE-2026-61743",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Chartbrew: DNS Rebinding SSRF Bypass in Outbound Request Validation",
    "summary": "Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. Prior to 5.2.2, Chartbrew's server/modules/safeRequest.js calls validateOutboundUrl() to resolve and validate a target hostname, but request-promise performs a separate DNS resolution for the actual connection. An authenticated user who can create or test API connections and controls the target DNS name can return a public address during validation and a private address during the request, bypassing the protections implemented by server/modules/outboundTargetPolicy.js. This DNS rebinding condition can expose internal services, localhost resources, or cloud metadata endpoints. This issue is fixed in version 5.2.2.",
    "evidence": "osv:CVE-2026-61743",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-61743",
      "aliases": [
        "CVE-2026-61743",
        "GHSA-9537-vm84-j26f"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/chartbrew/chartbrew",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "e14ffa0705586f27a19e051d74263fa0a7f94426"
                },
                {
                  "fixed": "d38d745fe9e45563be8c33e4c7a17788ee6f13a3"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.2.2"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d38d745fe9e45563be8c33e4c7a17788ee6f13a3"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "e14ffa0705586f27a19e051d74263fa0a7f94426"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v5.2.2"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v5.2.1",
            "v5.2.0",
            "v5.1.0",
            "v5.0.1",
            "v5.0.0",
            "v4.9.0",
            "v4.8.5",
            "v4.8.4",
            "v4.8.3",
            "v4.8.2",
            "v4.8.1",
            "v4.8.0",
            "v4.7.0",
            "v4.6.0",
            "v4.5.0",
            "v4.4.0",
            "v4.3.0",
            "v4.2.1",
            "v4.2.0",
            "v4.1.0",
            "v4.0.1",
            "v4.0.0",
            "v3.13.0",
            "v3.12.0",
            "v3.11.1",
            "v3.11.0",
            "v3.10.0",
            "v3.9.0",
            "v3.8.2",
            "v3.8.1",
            "v3.8.0",
            "v3.7.0",
            "v3.6.0",
            "v3.5.2",
            "v3.5.1",
            "v3.5.0",
            "v3.3.0",
            "v3.2.1",
            "v3.2.0",
            "v3.1.1",
            "v3.1.0",
            "v3.0.0",
            "v3.0.0-beta.3",
            "v3.0.0-beta.2",
            "v3.0.0-beta.1",
            "v2.8.0",
            "v2.7.0",
            "v2.6.2",
            "v2.6.1",
            "v2.6.0",
            "v2.5.1",
            "v2.5.0",
            "v2.4.0",
            "v2.3.0",
            "v2.2.0",
            "v2.1.0",
            "v2.0.0",
            "v2.0.0-rc.2",
            "v2.0.0-rc.1",
            "v1.21.1",
            "v1.21.0",
            "v1.20.2",
            "v1.20.1",
            "v1.20.0",
            "v1.19.1",
            "v1.19.0",
            "v1.18.1",
            "v1.18.0",
            "v1.17.2",
            "v1.17.1",
            "v1.17.0",
            "v1.16.2",
            "v1.16.1",
            "v1.16.0",
            "v1.15.0",
            "v1.14.2",
            "v1.14.1",
            "v1.14.0",
            "v1.13.0",
            "v1.11.1",
            "v1.11.0",
            "v1.10.0",
            "v1.9.3",
            "v1.9.2",
            "v1.9.1",
            "v1.9.0",
            "v1.8.1",
            "v1.8.0",
            "v1.7.1",
            "v1.7.0",
            "v1.6.2",
            "v1.6.1",
            "v1.6.0",
            "v1.5.3",
            "v1.5.1",
            "v1.5.0",
            "v1.4.0",
            "v1.3.1",
            "v1.3.0",
            "v1.2.0",
            "v1.1.1",
            "v1.1.0",
            "v1.0.0",
            "v1.0.0-beta.13",
            "v1.0.0-beta.11",
            "v1.0.0-beta.10",
            "v1.0.0-beta.9.3",
            "v1.0.0-beta.9.2",
            "v1.0.0-beta.9.1",
            "v1.0.0-beta.9",
            "v1.0.0-beta.8.1",
            "v1.0.0-beta.8",
            "v1.0.0-beta.7",
            "v1.0.0-beta.6",
            "v1.0.0-beta.5.6",
            "v1.0.0-beta.5.5",
            "v1.0.0-beta.5.4",
            "v1.0.0-beta.5.2",
            "v1.0.0-beta.5.1",
            "v1.0.0-beta.5",
            "v1.0.0-beta.4.2",
            "v1.0.0-beta.4.1",
            "v1.0.0-beta.4",
            "v1.0.0-beta.3",
            "v1.0.0-beta.2.3",
            "v1.0.0-beta.2.2",
            "v1.0.0-beta.2.1",
            "v1.0.0-beta.2",
            "v1.0.0-beta.1.1",
            "v1.0.0-beta.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-61743.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.969711055Z",
      "provider": "osv",
      "references": [
        "https://github.com/chartbrew/chartbrew/releases/tag/v5.2.2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61743.json",
        "https://github.com/chartbrew/chartbrew/security/advisories/GHSA-9537-vm84-j26f",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-61743",
        "https://github.com/chartbrew/chartbrew/commit/d38d745fe9e45563be8c33e4c7a17788ee6f13a3"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-350"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/61xxx/CVE-2026-61743.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-61743",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 491504,
  "published_at": "2026-09-21T21:38:47.673+00:00"
}