Lucene search
K

robinbhandari FTP Remote Denial Of Service Exploit

🗓️ 12 Mar 2019 00:00:00Reported by x90cType 
zdt
 zdt
🔗 0day.today👁 59 Views

FTP Remote Denial Of Service Exploit in robinbhandari FT

Related
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2019-9668
19 Mar 202409:07
circl
CVE
CVE-2019-9668
31 Dec 201916:06
cve
Cvelist
CVE-2019-9668
31 Dec 201916:06
cvelist
EUVD
EUVD-2019-19034
7 Oct 202500:30
euvd
NVD
CVE-2019-9668
31 Dec 201917:15
nvd
Prion
Design/Logic Flaw
31 Dec 201917:15
prion
Title: CVE-2019-9668 robinbhandari FTP remote DoS vulnerability

Vulnerable:
- https://github.com/rovinbhandari/FTP

Description:
robinbhandari is a open source tiny ftp server/client in github.com.
it has a remote DoS vulnerability in a 'put' command.

Timeline:
2019-03-11 CVE-2019-9668 robinbhandari FTP remote DoS vulnerability.
2019-03-10 my personal site advisory published.
2019-03-09 request CVE to mitre. (Report).
2019-02-27 vulnerability found.

Details:
hacker can set packet struct's datalen field variable. which is recv size from server side file transferring.
then If set 0xffff(size of unsigned short) to datalen, put ./file then server side error occured and
server will be closed.

Vulnerable code:
--------------------
FTP/file_transfer_functions.c
[...]
void receive_file(struct packet* hp, struct packet* data, int sfd, FILE* f)
{
[...]
        int x;
        int i = 0, j = 0;

        // (1) recved packet from ftp client.
        if((x = recv(sfd, data, size_packet, 0)) <= 0)
                er("recv()", x);
        j++;

        // (2) hp = struct packet * fields parsing.
        hp = ntohp(data);
        //printpacket(hp, HP);
        while(hp->type == DATA) // (3) If DATA type then enter here..
        {
                i += fwrite(hp->buffer, 1, hp->datalen, f);     // (4) x90c:: hacker can set hp->datalen, then server daemon error then remote DoS result occured.

                if((x = recv(sfd, data, size_packet, 0)) <= 0)
                        er("recv()", x);
                j++;
                hp = ntohp(data);
                //printpacket(hp, HP);
        }
[...]
--------------------

PoC:
we can change client_ftp.c to compile.

Credit:
x90c <[email protected]> - http://www.x90chacker.org.

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

12 Mar 2019 00:00Current
7.7High risk
Vulners AI Score7.7
CVSS 25
CVSS 3.17.5
EPSS0.01063
59