CVE-2026-40610
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 21 - wyżej niż 21% wszystkich znanych CVE
Streszczenie
W BentoML w wersjach 1.4.38 i wcześniejszych, proces budowania pakietu podąża za dowiązaniami symbolicznymi kontrolowanymi przez atakującego w kontekście budowania i kopiuje zawartość wskazanych plików do generowanego artefaktu Bento. Jeśli ofiara buduje niezaufane repozytorium, atakujący może umieścić dowiązanie symboliczne wskazujące na poufny plik lokalny, który zostanie włączony do artefaktu.
Ocena ryzyka
Atakujący może wykraść poufne pliki z hosta budującego (np. dane uwierzytelniające, klucze SSH, tokeny API) do artefaktu Bento, który może być dalej eksportowany, przesyłany lub konteneryzowany, co prowadzi do wycieku danych.
Rekomendacja
Zaktualizuj BentoML do wersji 1.4.39 lub nowszej, która zawiera poprawkę.
Inne podatności w BentoML
Oryginalny opis (angielski, źródło NVD)
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. In versions 1.4.38 and prior, the build packaging workflow follows attacker-controlled symlinks inside the build context and copies the referenced file contents into the generated Bento artifact. If a victim builds an untrusted repository or other attacker-supplied build context, the attacker can place a symlink such as loot.txt -> /tmp/outside-marker.txt or a link to a more sensitive local file. When bentoml build runs, BentoML dereferences the symlink and packages the target file contents into the Bento. The leaked file can then propagate further through export, push, or containerization workflows. An attacker can exfiltrate local files from the build host into the Bento artifact, exposing secrets such as cloud credentials, SSH keys, API tokens, environment files, or other sensitive local configurations. Because Bento artifacts are commonly exported, uploaded, stored, or containerized after build, the leaked file contents can spread beyond the original build machine. This issue has been fixed in version 1.4.39.

