CVE-2024-5130 is a high severity (CVSS 7.5) incorrect authorization flaw in lunary-ai/lunary through version 1.2.2. Unauthenticated users can delete any dataset because the endpoint does not tie the project ID to the caller. The record says it is fixed in 1.2.8.
What's affected
The record says versions up to and including 1.2.2 are affected and gives 1.2.8 as the fixed version. As with the sibling CVE-2024-5128, the numbers read oddly if you treat 1.2.2 and 1.2.8 as ordinary decimals, so rely on the project's tags and release notes for the real order.
The scope is the dataset deletion endpoint. The record lists CWE-862 and CWE-639, so it combines a missing check with a user controlled identifier.
How to check if you're exposed
Self hosted deployments can read the image tag:
docker ps --format '{{.Image}}' | grep -i lunary
If you built from source, test your checkout for the fix commit:
git merge-base --is-ancestor 14078c1d2b8766075bf655f187ece24c7a787776 HEAD && echo has fix
Also check whether the service is internet facing. This one is described as not needing a login, so reachability from outside is the key exposure factor.
What to do now
- Upgrade to 1.2.8 or any later release and verify the running version.
- Put the service behind a network control, such as a VPN or an allow list, until you have upgraded.
- Back up your datasets and confirm a restore works.
- Review access logs for DELETE requests without a session token.
- Plan to apply the fixes for the related Lunary CVEs from the same disclosure window at the same time.
Why it matters
There are two defects in one place. CWE-862 means the check is absent. CWE-639 means the project ID in the request is trusted as supplied. Even if the route required login, it would still accept an ID that belongs to another project.
Unauthenticated reach raises the stakes compared with the sibling CVEs, since scanners can find exposed instances without any account. The record shows no KEV entry. It also differs from CVE-2024-5129 on who can trigger the delete: that record says any user, this one says any unauthenticated user.
Try it yourself
A dependency or upgrade check in the pull request is a good place to catch an out of date self hosted tool. This demo shows a gate blocking a change.
Click through it at your own pace, or open it full screen.
Quick check
Is 1.2.8 really newer than 1.2.2?
Yes in a normal integer reading, 8 is greater than 2. The oddity is with the sibling record naming 1.2.25, so verify tags.
Does being behind a firewall help?
It lowers exposure from the internet, but internal users could still trigger it until you patch.
Sources
Last reviewed: 19 October 2026.