CVE-2012-3949 - Improper Input Validation

Severity

78%

Complexity

99%

Confidentiality

115%

The SIP implementation in Cisco Unified Communications Manager (CUCM) 6.x and 7.x before 7.1(5b)su5, 8.x before 8.5(1)su4, and 8.6 before 8.6(2a)su1; Cisco IOS 12.2 through 12.4 and 15.0 through 15.2; and Cisco IOS XE 3.3.xSG before 3.3.1SG, 3.4.xS, and 3.5.xS allows remote attackers to cause a denial of service (service crash or device reload) via a crafted SIP message containing an SDP session description, aka Bug IDs CSCtw66721, CSCtj33003, and CSCtw84664.

The SIP implementation in Cisco Unified Communications Manager (CUCM) 6.x and 7.x before 7.1(5b)su5, 8.x before 8.5(1)su4, and 8.6 before 8.6(2a)su1; Cisco IOS 12.2 through 12.4 and 15.0 through 15.2; and Cisco IOS XE 3.3.xSG before 3.3.1SG, 3.4.xS, and 3.5.xS allows remote attackers to cause a denial of service (service crash or device reload) via a crafted SIP message containing an SDP session description, aka Bug IDs CSCtw66721, CSCtj33003, and CSCtw84664.

CVSS 2.0 Base Score 7.8. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (AV:N/AC:L/Au:N/C:N/I:N/A:C).

Demo Examples

Improper Input Validation

CWE-20

This example demonstrates a shopping interaction in which the user is free to specify the quantity of items to be purchased and a total is calculated.


               
...

The user has no control over the price variable, however the code does not prevent a negative value from being specified for quantity. If an attacker were to provide a negative value, then the user would have their account credited instead of debited.

Improper Input Validation

CWE-20

This example asks the user for a height and width of an m X n game board with a maximum dimension of 100 squares.


               
.../* board dimensions */
die("No integer passed: Die evil hacker!\n");
die("No integer passed: Die evil hacker!\n");
die("Value too large: Die evil hacker!\n");

While this code checks to make sure the user cannot specify large, positive integers and consume too much memory, it does not check for negative values supplied by the user. As a result, an attacker can perform a resource consumption (CWE-400) attack against this program by specifying two, large negative values that will not overflow, resulting in a very large memory allocation (CWE-789) and possibly a system crash. Alternatively, an attacker can provide very large negative values which will cause an integer overflow (CWE-190) and unexpected behavior will follow depending on how the values are treated in the remainder of the program.

Improper Input Validation

CWE-20

The following example shows a PHP application in which the programmer attempts to display a user's birthday and homepage.


               
echo "Birthday: $birthday<br>Homepage: <a href=$homepage>click here</a>"

The programmer intended for $birthday to be in a date format and $homepage to be a valid URL. However, since the values are derived from an HTTP request, if an attacker can trick a victim into clicking a crafted URL with <script> tags providing the values for birthday and / or homepage, then the script will run on the client's browser when the web server echoes the content. Notice that even if the programmer were to defend the $birthday variable by restricting input to integers and dashes, it would still be possible for an attacker to provide a string of the form:


               
2009-01-09--

If this data were used in a SQL statement, it would treat the remainder of the statement as a comment. The comment could disable other security-related logic in the statement. In this case, encoding combined with input validation would be a more useful protection mechanism.

Furthermore, an XSS (CWE-79) attack or SQL injection (CWE-89) are just a few of the potential consequences when input validation is not used. Depending on the context of the code, CRLF Injection (CWE-93), Argument Injection (CWE-88), or Command Injection (CWE-77) may also be possible.

Improper Input Validation

CWE-20

This function attempts to extract a pair of numbers from a user-supplied string.


               
}
die("Did not specify integer value. Die evil hacker!\n");
/* proceed assuming n and m are initialized correctly */

This code attempts to extract two integer values out of a formatted, user-supplied input. However, if an attacker were to provide an input of the form:


               
123:

then only the m variable will be initialized. Subsequent use of n may result in the use of an uninitialized variable (CWE-457).

Improper Input Validation

CWE-20

The following example takes a user-supplied value to allocate an array of objects and then operates on the array.


               
}
list[0] = new Widget();
die("Negative value supplied for list size, die evil hacker!");

This example attempts to build a list from a user-specified value, and even checks to ensure a non-negative value is supplied. If, however, a 0 value is provided, the code will build an array of size 0 and then try to store a new Widget in the first location, causing an exception to be thrown.

Improper Input Validation

CWE-20

This application has registered to handle a URL when sent an intent:


               
}......
}
}
int length = URL.length();
...

The application assumes the URL will always be included in the intent. When the URL is not present, the call to getStringExtra() will return null, thus causing a null pointer exception when length() is called.

Overview

Type

Cisco

First reported 12 years ago

2012-09-27 00:55:00

Last updated 7 years ago

2017-08-29 15:29:00

Affected Software

Cisco Unified Communications Manager 6.0(1a)

6.0\(1a\)

Cisco Unified Communications Manager 6.0(1b)

6.0\(1b\)

Cisco Unified Communications Manager 6.1(1)

6.1\(1\)

Cisco Unified Communications Manager 6.1(1a)

6.1\(1a\)

Cisco Unified Communications Manager 6.1(1b)

6.1\(1b\)

Cisco Unified Communications Manager 6.1(2)

6.1\(2\)

Cisco Unified Communications Manager 6.1(3)

6.1\(3\)

Cisco Unified Communications Manager 6.1(3a)

6.1\(3a\)

Cisco Unified Communications Manager 6.1(3b)

6.1\(3b\)

Cisco Unified Communications Manager 6.1(4)

6.1\(4\)

Cisco Unified Communications Manager 6.1(4a)

6.1\(4a\)

Cisco Unified Communications Manager 6.1(4b)

6.1\(4b\)

Cisco Unified Communications Manager 6.1(5)

6.1\(5\)

Cisco Unified Communications Manager 7.1(1)

7.1\(1\)

Cisco Unified Communications Manager 7.1(2)

7.1\(2\)

Cisco Unified Communications Manager 7.1(2a)

7.1\(2a\)

Cisco Unified Communications Manager 7.1(2b)

7.1\(2b\)

Cisco Unified Communications Manager 7.1(3)

7.1\(3\)

Cisco Unified Communications Manager 7.1(3a)

7.1\(3a\)

Cisco Unified Communications Manager 7.1(3b)

7.1\(3b\)

Cisco Unified Communications Manager 7.1(5)

7.1\(5\)

Cisco Unified Communications Manager 7.1(5a)

7.1\(5a\)

Cisco Unified Communications Manager 7.1(5b)

7.1\(5b\)

Cisco Unified Communications Manager 7.1(5b)su1

7.1\(5b\)su1

Cisco Unified Communications Manager 7.1(5b)su1a

7.1\(5b\)su1a

Cisco Unified Communications Manager 7.1(5b)su2

7.1\(5b\)su2

Cisco Unified Communications Manager 7.1(5b)su3

7.1\(5b\)su3

Cisco Unified Communications Manager 7.1(5b)su4

7.1\(5b\)su4

Cisco Unified Communications Manager 8.0

8.0

Cisco Unified Communications Manager 8.0(1)

8.0\(1\)

Cisco Unified Communications Manager 8.0(2)

8.0\(2\)

Cisco Unified Communications Manager 8.0(2a)

8.0\(2a\)

Cisco Unified Communications Manager 8.0(2b)

8.0\(2b\)

Cisco Unified Communications Manager 8.0(2c)

8.0\(2c\)

Cisco Unified Communications Manager 8.0(3)

8.0\(3\)

Cisco Unified Communications Manager 8.0(3a)

8.0\(3a\)

Cisco Unified Communications Manager 8.5(1)su1

8.5\(1\)su1

Cisco Unified Communications Manager 8.5(1)su2

8.5\(1\)su2

Cisco Unified Communications Manager 8.5(1)su3

8.5\(1\)su3

Cisco IOS 12.2

12.2

Cisco IOS 12.2B

12.2b

Cisco IOS 12.2BC

12.2bc

Cisco IOS 12.2BW

12.2bw

Cisco IOS 12.2BX

12.2bx

Cisco IOS 12.2BY

12.2by

Cisco IOS 12.2BZ

12.2bz

Cisco IOS 12.2CA

12.2ca

Cisco IOS 12.2CX

12.2cx

Cisco IOS 12.2CY

12.2cy

Cisco IOS 12.2CZ

12.2cz

Cisco IOS 12.2DA

12.2da

Cisco IOS 12.2DD

12.2dd

Cisco IOS 12.2DX

12.2dx

Cisco IOS 12.2EW

12.2ew

Cisco IOS 12.2EWA

12.2ewa

Cisco IOS 12.2EX

12.2ex

Cisco IOS 12.2EY

12.2ey

Cisco IOS 12.2EZ

12.2ez

Cisco IOS 12.2FX

12.2fx

Cisco IOS 12.2FY

12.2fy

Cisco IOS 12.2FZ

12.2fz

Cisco IOS 12.2IRB

12.2irb

Cisco IOS 12.2IXA

12.2ixa

Cisco IOS 12.2IXB

12.2ixb

Cisco IOS 12.2IXC

12.2ixc

Cisco IOS 12.2IXD

12.2ixd

Cisco IOS 12.2IXE

12.2ixe

Cisco IOS 12.2IXF

12.2ixf

Cisco IOS 12.2IXG

12.2ixg

Cisco IOS 12.2MB

12.2mb

Cisco IOS 12.2S

12.2s

Cisco IOS 12.2SB

12.2sb

Cisco IOS 12.2SBC

12.2sbc

Cisco IOS 12.2SCA

12.2sca

Cisco IOS 12.2SCB

12.2scb

Cisco IOS 12.2SE

12.2se

Cisco IOS 12.2 SEA

12.2sea

Cisco IOS 12.2SEB

12.2seb

Cisco IOS 12.2SEC

12.2sec

Cisco IOS 12.2SED

12.2sed

Cisco IOS 12.2SEE

12.2see

Cisco IOS 12.2SEF

12.2sef

Cisco IOS 12.2SEG

12.2seg

Cisco IOS 12.2SG

12.2sg

Cisco IOS 12.2SGA

12.2sga

Cisco IOS 12.2SM

12.2sm

Cisco IOS 12.2SRA

12.2sra

Cisco IOS 12.2SRB

12.2srb

Cisco IOS 12.2SRC

12.2src

Cisco IOS 12.2SU

12.2su

Cisco IOS 12.2SV

12.2sv

Cisco IOS 12.2SVA

12.2sva

Cisco IOS 12.2SVC

12.2svc

Cisco IOS 12.2SVD

12.2svd

Cisco IOS 12.2SVE

12.2sve

Cisco IOS 12.2SW

12.2sw

Cisco IOS 12.2SX

12.2sx

Cisco IOS 12.2SXA

12.2sxa

Cisco IOS 12.2SXB

12.2sxb

Cisco IOS 12.2SXD

12.2sxd

Cisco IOS 12.2SXE

12.2sxe

Cisco IOS 12.2SXF

12.2sxf

Cisco IOS 12.2SXI

12.2sxi

Cisco IOS 12.2SY

12.2sy

Cisco IOS 12.2SZ

12.2sz

Cisco IOS 12.2T

12.2t

Cisco IOS 12.2TPC

12.2tpc

Cisco IOS 12.2XA

12.2xa

Cisco IOS 12.2XB

12.2xb

Cisco IOS 12.2XC

12.2xc

Cisco IOS 12.2XD

12.2xd

Cisco IOS 12.2XE

12.2xe

Cisco IOS 12.2XF

12.2xf

Cisco IOS 12.2XG

12.2xg

Cisco IOS 12.2XH

12.2xh

Cisco IOS 12.2XI

12.2xi

Cisco IOS 12.2XJ

12.2xj

Cisco IOS 12.2XK

12.2xk

Cisco IOS 12.2XL

12.2xl

Cisco IOS 12.2XM

12.2xm

Cisco IOS 12.2XN

12.2xn

Cisco IOS 12.2XNB

12.2xnb

Cisco IOS 12.2XNC

12.2xnc

Cisco IOS 12.2XND

12.2xnd

Cisco IOS 12.2XO

12.2xo

Cisco IOS 12.2XQ

12.2xq

Cisco IOS 12.2XR

12.2xr

Cisco IOS 12.2XS

12.2xs

Cisco IOS 12.2XT

12.2xt

Cisco IOS 12.2XU

12.2xu

Cisco IOS 12.2XV

12.2xv

Cisco IOS 12.2XW

12.2xw

Cisco IOS 12.2YA

12.2ya

Cisco IOS 12.2YB

12.2yb

Cisco IOS 12.2YC

12.2yc

Cisco IOS 12.2YD

12.2yd

Cisco IOS 12.2YE

12.2ye

Cisco IOS 12.2YF

12.2yf

Cisco IOS 12.2YG

12.2yg

Cisco IOS 12.2YH

12.2yh

Cisco IOS 12.2YJ

12.2yj

Cisco IOS 12.2YK

12.2yk

Cisco IOS 12.2YL

12.2yl

Cisco IOS 12.2YM

12.2ym

Cisco IOS 12.2YN

12.2yn

Cisco IOS 12.2YO

12.2yo

Cisco IOS 12.2YP

12.2yp

Cisco IOS 12.2YQ

12.2yq

Cisco IOS 12.2YR

12.2yr

Cisco IOS 12.2YS

12.2ys

Cisco IOS 12.2YT

12.2yt

Cisco IOS 12.2YU

12.2yu

Cisco IOS 12.2YV

12.2yv

Cisco IOS 12.2YW

12.2yw

Cisco IOS 12.2YX

12.2yx

Cisco IOS 12.2YY

12.2yy

Cisco IOS 12.2YZ

12.2yz

Cisco IOS 12.2ZA

12.2za

Cisco IOS 12.2ZB

12.2zb

Cisco IOS 12.2ZC

12.2zc

Cisco IOS 12.2ZD

12.2zd

Cisco IOS 12.2ZE

12.2ze

Cisco IOS 12.2ZF

12.2zf

Cisco IOS 12.2ZG

12.2zg

Cisco IOS 12.2ZH

12.2zh

Cisco IOS 12.2ZJ

12.2zj

Cisco IOS 12.2ZL

12.2zl

Cisco IOS 12.2ZP

12.2zp

Cisco IOS 12.2ZU

12.2zu

Cisco IOS 12.2ZX

12.2zx

Cisco IOS 12.2ZY

12.2zy

Cisco IOS 12.2ZYA

12.2zya

Cisco IOS 12.3

12.3

Cisco IOS 12.3B

12.3b

Cisco IOS 12.3BC

12.3bc

Cisco IOS 12.3BW

12.3bw

Cisco IOS 12.3JA

12.3ja

Cisco IOS 12.3JEA

12.3jea

Cisco IOS 12.3JEB

12.3jeb

Cisco IOS 12.3JEC

12.3jec

Cisco IOS 12.3JK

12.3jk

Cisco IOS 12.3JL

12.3jl

Cisco IOS 12.3JX

12.3jx

Cisco IOS 12.3T

12.3t

Cisco IOS 12TPC

12.3tpc

Cisco IOS 12.3VA

12.3va

Cisco IOS 12.3XA

12.3xa

Cisco IOS 12.3XB

12.3xb

Cisco IOS 12.3XC

12.3xc

Cisco IOS 12.3XD

12.3xd

Cisco IOS 12.3XE

12.3xe

Cisco IOS 12.3XF

12.3xf

Cisco IOS 12.3XG

12.3xg

Cisco IOS 12.3XI

12.3xi

Cisco IOS 12.3XK

12.3xk

Cisco IOS 12.3XL

12.3xl

Cisco IOS 12.3XQ

12.3xq

Cisco IOS 12.3XR

12.3xr

Cisco IOS 12.3XS

12.3xs

Cisco IOS 12.3XU

12.3xu

Cisco IOS 12.3XW

12.3xw

Cisco IOS 12.3XX

12.3xx

Cisco IOS 12.3XY

12.3xy

Cisco IOS 12.3XZ

12.3xz

Cisco IOS 12.3YA

12.3ya

Cisco IOS 12.3YD

12.3yd

Cisco IOS 12.3YF

12.3yf

Cisco IOS 12.3YG

12.3yg

Cisco IOS 12.3YH

12.3yh

Cisco IOS 12.3YJ

12.3yj

Cisco IOS 12.3YK

12.3yk

Cisco IOS 12.3YM

12.3ym

Cisco IOS 12.3YQ

12.3yq

Cisco IOS 12.3YS

12.3ys

Cisco IOS 12.3YT

12.3yt

Cisco IOS 12.3YU

12.3yu

Cisco IOS 12.3YX

12.3yx

Cisco IOS 12.3YZ

12.3yz

Cisco IOS 12.3ZA

12.3za

Cisco IOS 15.0

15.0

Cisco IOS 15.0(1)S1

15.0\(1\)s1

Cisco IOS 15.0(1)S2

15.0\(1\)s2

Cisco IOS 15.0 (1)SE

15.0\(1\)se

Cisco IOS 15.0M

15.0m

Cisco IOS 15.0MR

15.0mr

Cisco IOS 15.0MRA

15.0mra

Cisco IOS 15.0S

15.0s

Cisco IOS 15.0SA

15.0sa

Cisco IOS 15.0SG

15.0sg

Cisco IOS 15.0XA

15.0xa

Cisco IOS 15.0XO

15.0xo

Cisco IOS 15.1

15.1

Cisco IOS 15.1(1)XB1

15.1\(1\)xb1

Cisco IOS 15.1(2)T

15.1\(2\)t

Cisco IOS 15.1(3)T

15.1\(3\)t

Cisco IOS 15.1(4)M

15.1\(4\)m

Cisco IOS 15.1(4)M1

15.1\(4\)m1

Cisco IOS 15.1EY

15.1ey

Cisco IOS 15.1GC

15.1gc

Cisco IOS 15.1M

15.1m

Cisco IOS 15.1S

15.1s

Cisco IOS 15.1T

15.1t

Cisco IOS 15.1XB

15.1xb

Cisco IOS 15.2

15.2

Cisco IOS XE 3.3.0SG

3.3.0sg

Cisco IOS XE 3.3.1s

3.3.1s

Cisco IOS XE 3.3.1SG

3.3.1sg

Cisco IOS XE 3.4.0as

3.4.0as

Cisco IOS XE 3.4.0s

3.4.0s

Cisco IOS XE 3.4.1s

3.4.1s

Cisco IOS XE 3.4.2s

3.4.2s

Cisco IOS XE 3.4.3s

3.4.3s

Cisco IOS XE 3.4.xS

3.4.xs

Cisco IOS XE 3.5.0s

3.5.0s

Cisco IOS XE 3.5.1s

3.5.1s

Cisco IOS XE 3.5.2s

3.5.2s

Cisco IOS XE 3.5.xS

3.5.xs

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.