Intel

AIKIDO-2026-799016

ultralytics is vulnerable to Path Traversal

Path Traversal Pre-CVE
Found by Aikido Intel before public disclosure or CVE publication.
Published 4 days ago

73

High Risk

This Affects:

PYTHONultralytics
8.0.136 - 8.4.95
Fixed in 8.4.96
Are you affected? Scan for Free

TL;DR

convert_ndjson_to_yolo() in ultralytics/data/converter.py joins NDJSON split, file, and classification class-name fields directly into output image and label paths under the generated dataset directory. A crafted NDJSON record can supply traversal segments or other unsafe path components in those fields so conversion writes outside the intended dataset tree, overwriting or creating files the converter process can reach. The fix restricts split to train/val/test, rewrites each image to a collision-free index-based filename, and maps classification classes onto dense numeric directories so untrusted display names never own filesystem paths.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application converts or trains on untrusted NDJSON datasets via convert_ndjson_to_yolo() or model.train(data=...) with an .ndjson source.

Background info

ultralytics is vulnerable to Path Traversal in versions 8.0.136 - 8.4.95.

How to fix this

Upgrade the ultralytics library to the patch version.