---
id: CVE-2026-61649
title: >-
  SuiteCRM: isSelfRequest() bypass via substring match allows SSRF to internal
  services
summary: >-
  SuiteCRM is an open-source, enterprise-ready Customer Relationship Management
  (CRM) software application. Prior to 7.15.2 and 8.10.2, the SSRF protection
  added in 7.15.1 uses a substring comparison in isSelfRequest() rather than
  hostname…
severity: high
cvss: 7.7
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N'
cvssSource: cna
cwe:
  - CWE-918
vendor: SuiteCRM
product: SuiteCRM
affected:
  - SuiteCRM < 7.15.2
  - 'SuiteCRM >= 8.0.0, < 8.10.2'
published: '2026-11-05'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T18:15:54.243Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-61649'
references:
  - url: >-
      https://github.com/SuiteCRM/SuiteCRM/security/advisories/GHSA-r665-27q3-wvg8
    label: >-
      https://github.com/SuiteCRM/SuiteCRM/security/advisories/GHSA-r665-27q3-wvg8
  - url: >-
      https://github.com/SuiteCRM/SuiteCRM-Core/commit/a11f50180d939f639cc468b5d536e8ad714dfb68
    label: >-
      https://github.com/SuiteCRM/SuiteCRM-Core/commit/a11f50180d939f639cc468b5d536e8ad714dfb68
  - url: >-
      https://github.com/SuiteCRM/SuiteCRM/commit/d6bca97a0159ec019a969b86eca32affab3beb7c
    label: >-
      https://github.com/SuiteCRM/SuiteCRM/commit/d6bca97a0159ec019a969b86eca32affab3beb7c
  - url: 'https://github.com/SuiteCRM/SuiteCRM-Core/releases/tag/v8.10.2'
    label: 'https://github.com/SuiteCRM/SuiteCRM-Core/releases/tag/v8.10.2'
  - url: 'https://github.com/SuiteCRM/SuiteCRM/releases/tag/v7.15.2'
    label: 'https://github.com/SuiteCRM/SuiteCRM/releases/tag/v7.15.2'
tags:
  - cve.org
ingestedAt: '2026-11-05T22:38:31.454Z'
---

## Overview

SuiteCRM is an open-source, enterprise-ready Customer Relationship Management (CRM) software application. Prior to 7.15.2 and 8.10.2, the SSRF protection added in 7.15.1 uses a substring comparison in isSelfRequest() rather than hostname equality. The affected flow begins at validate_external_host() and uses isSelfRequest(), and stripos() to carry attacker-controlled data or authorization state into the security-sensitive operation. An authenticated attacker can place the server hostname in a URL path to bypass IP validation and direct server-side requests to internal services. This issue is fixed in versions 7.15.2 and 8.10.2.

## Affected

- `SuiteCRM < 7.15.2`
- `SuiteCRM >= 8.0.0, < 8.10.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
