---
id: CVE-2026-37737
aliases:
  - GHSA-94jw-hqvj-vw74
title: sanic-cors contains an improper regular expression in the try_match() function
summary: sanic-cors contains an improper regular expression in the try_match() function
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N'
vendor: sanic-cors
product: sanic-cors
ecosystem: pip
affected:
  - sanic-cors <= 2.2.0
published: '2026-06-05'
updated: '2026-07-17'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-94jw-hqvj-vw74'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-37737'
  - url: 'https://github.com/ashleysommer/sanic-cors'
  - url: 'https://github.com/ashleysommer/sanic-cors/blob/master/sanic_cors/core.py'
  - url: >-
      https://github.com/npbhatter17/security-advisories/blob/main/CVE-2026-37737-sanic-cors-advisory.md
  - url: 'https://pypi.org/project/Sanic-Cors'
tags:
  - osv
  - pip
epss: 0.00239
epssPercentile: 0.13331
ingestedAt: '2026-07-17T19:00:50.769Z'
---

## Overview

sanic-cors version 2.2.0 and prior contains an improper regular expression in the try_match() function in sanic_cors/core.py that uses re.match without end-anchoring. This allows an attacker to bypass CORS origin allowlists by registering a domain that begins with a trusted origin string, to gain unauthorized access to cross-origin requests for authenticated resources.

## Affected packages

- `sanic-cors <= 2.2.0`

## Remediation

Refer to the advisory for the patched release.
