Skip to content

SSRF via custom cloud storage endpoints

High
SpecLad published GHSA-q684-4jjh-83g6 Jun 13, 2024

Package

CVAT

Affected versions

2.1.0-2.14.2

Patched versions

2.14.3

Description

Impact

CVAT allows users to supply custom endpoint URLs for cloud storages based on Amazon S3 and Azure Blob Storage.

An attacker with a CVAT account can exploit this feature by specifying URLs whose host part is an intranet IP address or an internal domain name. By doing this, the attacker may be able to probe the network that the CVAT backend runs in for HTTP(S) servers.

In addition, if there is a web server on this network that is

  1. sufficiently API-compatible with an Amazon S3 or Azure Blob Storage endpoint, and
  2. either allows anonymous access, or allows authentication with credentials that are known by the attacker

then the attacker may be able to create a cloud storage linked to this server. They may then be able to:

  1. List files on the server.
  2. Extract files from the server, if these files are of a type that CVAT supports reading from cloud storage (media data (such as images/videos/archives), importable annotations or datasets, task/project backups).
  3. Overwrite files on this server with exported annotations/datasets/backups.

The exact capabilities of the attacker will depend on how the internal server is configured.

Patches

Upgrade to CVAT 2.14.3.

In this release, the existing SSRF mitigation measures are applied to requests to cloud providers, with access to intranet IP addresses prohibited by default.

Workarounds

  • Use network security solutions such as virtual networks or firewalls to prohibit network access from the CVAT backend to unrelated servers on your internal network.
  • Require authentication for access to internal servers.

References

Fix commit: f234693

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
High
Privileges required
Low
User interaction
None
Scope
Changed
Confidentiality
Low
Integrity
High
Availability
None

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:H/A:N

CVE ID

CVE-2024-37164

Weaknesses