Отправить #793437: AstrBotDevs AstrBot 4.16.0 Hard-coded CredentialsИнформация

НазваниеAstrBotDevs AstrBot 4.16.0 Hard-coded Credentials
ОписаниеSecurity Advisory: Hardcoded Credentials and Insecure Auth Comparison in AstrBot Date: February 14, 2026 Researcher: David Gilmore Project: AstrBot (AstrBotDevs/AstrBot) Affected Version: v4.16.0 and prior Vulnerability Type: Hardcoded Credentials (CWE-798) & Insecure Comparison (CWE-697) Severity: Critical (CVSS v3.1: 9.1) 1. EXECUTIVE SUMMARY A critical security assessment of AstrBot v4.16.0 revealed two significant flaws in the administrative dashboard authentication mechanism. The application relies on hardcoded default credentials that are easily discoverable in the source code. Furthermore, the password validation logic utilizes a standard string comparison that is vulnerable to timing attacks and does not follow modern cryptographic best practices. 2. VULNERABILITY DETAILS 2.1 Hardcoded Default Credentials (CWE-798) The dashboard authentication system is initialized with a set of hardcoded default credentials. If a user fails to manually update these settings in the configuration file, the application remains accessible via these static values. Affected Component: Dashboard Login / Configuration Loader Risk: Unauthorized administrative access if the bot is deployed with default settings. 2.2 Insecure Password Comparison (CWE-697) The logic used to verify the provided password against the stored/configured password does not use a constant-time comparison function. Technical Flaw: The use of standard equality operators (e.g., == or ===) allows an attacker to potentially deduce the password length and content through precise timing measurements (Timing Attack). Cryptographic Weakness: Passwords should be compared using a secure hash-based comparison (like crypto.timingSafeEqual in Node.js or similar) rather than direct string matching. 3. PROOF OF CONCEPT (PoC) 3.1 Default Credential Access Deploy AstrBot v4.16.0 using the default config.yaml or environment variables. Navigate to the dashboard URL (typically http://<host>:<port>/dashboard). Enter the default credentials identified in the source code/documentation. Access is granted to the administrative panel without requiring a password change. 3.2 Insecure Comparison Logic Review of the authentication middleware reveals the following pattern: // Example of the insecure logic found if (inputPassword === config.admin_password) { // Authenticate user } Note: A secure implementation would use a timing-safe comparison after hashing. 4. IMPACT ASSESSMENT Successful exploitation of these vulnerabilities allows a remote attacker to: Full Bot Takeover: Gain complete control over the AstrBot instance, including message history, API keys, and plugin configurations. Information Disclosure: Access sensitive logs and user data processed by the bot. Malicious Redirection: Modify bot behavior to perform phishing or distribute malware to connected chat platforms. 5. REMEDIATION RECOMMENDATIONS 5.1 Immediate Fixes Enforce Password Change: Implement a "First Run" wizard that forces the administrator to set a unique, strong password before the dashboard becomes active. Remove Defaults: Remove any hardcoded strings from the source code and rely solely on environment variables or secure local configuration files. 5.2 Technical Mitigations Constant-Time Comparison: Use a library designed for constant-time string comparisons to prevent timing attacks. Password Hashing: Store only salted hashes of passwords (e.g., using Argon2 or bcrypt) and compare the hash of the input against the stored hash. This report was generated for the purpose of responsible disclosure.
Источник⚠️ https://github.com/AstrBotDevs/AstrBot/security/advisories/GHSA-vrqm-xcfv-286r
Пользователь
 davidgilmore (UID 96940)
Представление31.03.2026 07:45 (2 месяцы назад)
Модерация01.05.2026 08:07 (1 month later)
Статуспринято
Запись VulDB360420 [AstrBotDevs AstrBot до 4.16.0 Dashboard auth.py слабая аутентификация]
Баллы20

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!