Skip to content

Latest commit

 

History

History
61 lines (35 loc) · 1.81 KB

deeplake-kaggle-command-injection-jfsa-2024-001035320.md

File metadata and controls

61 lines (35 loc) · 1.81 KB
description title date_published last_updated xray_id vul_id cvss severity discovered_by type
CVE-2024-6507, HIGH, Command injection when ingesting a remote Kaggle dataset due to a lack of input sanitization in the ingest_kaggle() API
Deep Lake Kaggle dataset command injection
2024-07-04
2024-07-04
JFSA-2024-001035320
CVE-2024-6507
8.1
high
Natan Nehorai
vulnerability

Summary

Command injection when ingesting a remote Kaggle dataset due to a lack of input sanitization in the ingest_kaggle() API

Component

deeplake

Affected versions

(,3.9.10]

Description

Deep Lake can be used for storing data and vectors while building LLM applications or to manage datasets while training deep learning models. Datasets can be loaded from various external sources, such as the Kaggle platform. In order to load an external Kaggle dataset a user will use the exported ingest_kaggle method.

The method will receive the tag parameter which should indicate the Kaggle dataset tag.

The tag parameter propagates into the _exec_command method without any form of input filtering.

Due to this issue, if a user builds an external facing application based on the Deep Lake application with the ability to upload Kaggle datasets, an attacker will be able to perform a remote code execution attack on the server, compromising all integrity, availability, and confidentiality of the available resources.

PoC

import deeplake

deeplake.ingest_kaggle('some/text||touch /tmp/hacked','/tmp/somepath','./tmp/somepath2',kagg
le_credentials={"username":"mister","key":"john","password":"doe"},overwrite=True)

Vulnerability Mitigations

No mitigations are supplied for this issue

References

Vendor fix