Lucene search

K
githubGitHub Advisory DatabaseGHSA-G9PH-J5VJ-F8WM
HistoryAug 21, 2024 - 6:27 p.m.

Potential access to sensitive URLs via CKAN extensions (SSRF)

2024-08-2118:27:11
CWE-918
GitHub Advisory Database
github.com
4
ckan
ssrf
access control
http proxy
firewall rules
custom validators
resource proxy

CVSS3

6.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

AI Score

6.9

Confidence

High

EPSS

0.001

Percentile

18.8%

Impact

There are a number of CKAN plugins, including XLoader, DataPusher, Resource proxy and ckanext-archiver, that work by downloading the contents of local or remote files in order to perform some actions with their contents (e.g. pushing to the DataStore, streaming contents or saving a local copy). All of them use the resource URL, and there are currently no checks to limit what URLs can be requested. This means that a malicious (or unaware) user can create a resource with a URL pointing to a place where they should not have access in order for one of the previous tools to retrieve it (known as a Server Side Request Forgery).

Patches and Workarounds

Users wanting to protect against these kinds of attacks can use one or a combination of the following approaches:

  • Use a separate HTTP proxy like Squid that can be used to allow / disallow IPs, domains etc as needed, and make CKAN extensions aware of this setting via the ckan.download_proxy config option.
  • Implement custom firewall rules to prevent access to restricted resources.
  • Use custom validators on the resource url field to block/allow certain domains or IPs.

All latest versions of the plugins linked above support the ckan.download_proxy settings. Support for this setting in the Resource Proxy plugin was included in CKAN 2.10.5 and 2.11.0

References

  • Blog post provides more details on how to configure a Squid proxy to prevent these issues

Affected configurations

Vulners
Node
ckanckanRange<2.10.5
VendorProductVersionCPE
ckanckan*cpe:2.3:a:ckan:ckan:*:*:*:*:*:*:*:*

CVSS3

6.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

NONE

Availability Impact

NONE

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

AI Score

6.9

Confidence

High

EPSS

0.001

Percentile

18.8%

Related for GHSA-G9PH-J5VJ-F8WM