CVE-2026-40610 json
BentoML has Information Disclosure in `bentoml build` via symlink traversal in the build context
published 2026-05-07 6 mo ago modified 2026-10-06 33 d ago also EUVD-2026-31497 , GHSA-mcfx-4vc6-qgxv , PYSEC-2026-2399
- cvss
- 5.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 21%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi bentoml 1.4.39
- bentoml bentoml 1.4.39
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.28% chance of exploitation in the next 30 days, higher than 21% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/bentoml/BentoML/security/advisories/GHSA-mcfx-4vc6-qgxv referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N |
| OSV | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | bentoml | <1.4.39 |
1.4.39 |
Affected products
- bentoml BentoML
Classification
- Weakness
-
- CWE-59 Improper Link Resolution Before File Access
References
-
github.com
/bentoml/BentoML/commit/5fb7cd41f92e2a56b45391284cf15b9ac9963a1f
web, patch
-
github.com
/bentoml/BentoML/security/advisories/GHSA-mcfx-4vc6-qgxv
exploit, web, vendor-advisory
-
github.com
/bentoml/BentoML/releases/tag/v1.4.39
web, product, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-40610
advisory
-
github.com
/bentoml/BentoML
package
-
pypi.org
/project/bentoml
package
-
github.com
/advisories/GHSA-mcfx-4vc6-qgxv
advisory
Sources
- CVE List CVE-2026-40610
- GitHub Advisory GHSA-mcfx-4vc6-qgxv
- NVD CVE-2026-40610
- OSV PYSEC-2026-2399
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.