ZenML ZenML Server - Improper Authentication Detection
| Reporter | Title | Published | Views | Family All 20 |
|---|---|---|---|---|
| The vulnerability of the final point of the application programming interface /api/v1/users/{user_name_or_id}/activate, which is part of the Zenml machine learning pipeline creation framework, allows a violator to elevate their privileges. | 5 Jul 202400:00 | – | bdu_fstec | |
| CVE-2024-25723 | 27 Feb 202416:26 | – | circl | |
| ZenML Security Vulnerability | 27 Feb 202400:00 | – | cnnvd | |
| CVE-2024-25723 | 27 Feb 202400:00 | – | cve | |
| CVE-2024-25723 | 27 Feb 202400:00 | – | cvelist | |
| Exploit for Improper Access Control in Zenml | 20 Mar 202401:28 | – | githubexploit | |
| ZenML Server Remote Privilege Escalation Vulnerability | 27 Feb 202415:30 | – | github | |
| exploit-CVE-2024-25723 | 15 Oct 202603:36 | – | kitploit | |
| CVE-2024-25723 | 27 Feb 202400:00 | – | mend | |
| ZenML ZenML Server - Improper Authentication | 14 Oct 202602:05 | – | nuclei |
10
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""ZenML Server in the ZenML machine learning package before 0."""
from kittysploit import *
from lib.protocols.http.http_client import Http_client
class Module(Scanner, Http_client):
__info__ = {
'name': 'ZenML ZenML Server - Improper Authentication Detection',
'description': 'ZenML Server in the ZenML machine learning package before 0.46.7 for Python allows remote privilege escalation because the /api/v1/users/{user_name_or_id}/activate REST API endpoint allows access on the basis of a valid username along with a new password in the request body.',
'author': ['KittySploit Team'],
'severity': 'critical',
'tags': ['web', 'scanner', 'cve', 'cve2024', 'passive', 'auth-bypass', 'zenml', 'vuln'],
'agent': {
'risk': 'active',
'effects': ['network_probe'],
'expected_requests': 1,
'reversible': True,
'approval_required': False,
'produces': ['tech_hints', 'risk_signals', 'endpoints'],
'cost': 1.0,
'noise': 0.3,
'value': 1.0,
'requires': {
'min_endpoints': 0,
'min_params': 0,
'tech_hints_any': [],
'tech_hints_all': [],
'specializations_any': [],
'risk_signals_any': [],
'auth_session': False,
'capabilities_any': [],
'capabilities_all': [],
'confidence_min': {},
'confidence_min_any': {},
'endpoint_pattern_any': [],
'param_any': [],
'api_surface_ready': False,
},
'chain': {
'produces_capabilities': [
{
'capability': 'admin_surface',
'from_detail': '',
},
],
'consumes_capabilities': [],
'option_bindings': {},
'suggested_followups': [],
},
},
'references': [
'https://www.zenml.io/blog/critical-security-update-for-zenml-users',
'https://github.com/zenml-io/zenml',
'https://github.com/zenml-io/zenml/compare/0.42.1...0.42.2',
'https://github.com/zenml-io/zenml/compare/0.43.0...0.43.1',
'https://github.com/zenml-io/zenml/compare/0.44.3...0.44.4',
],
'cve': 'CVE-2024-25723',
}
def run(self):
path = '/api/v1/info'
r = self.http_request(method='GET', path=path, allow_redirects=False)
if not r or r.status_code != 200:
return False
body = r.text or ""
body_any = ('0.44.4', '0.43.1', '0.42.2',)
body_all = ('deployment_type', 'database_type',)
if (any(m in body for m in body_any)) and (all(m in body for m in body_all)):
self.set_info(
severity='critical',
reason='ZenML ZenML Server - Improper Authentication detected',
path=path,
)
return True
return False
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
28 Jul 2026 11:27Current
7.2High risk
Vulners AI Score7.2
CVSS 3.18.8
EPSS0.70785
SSVC