CVE-2006-0340 - Improper Input Validation

Severity

71%

Complexity

86%

Confidentiality

115%

Unspecified vulnerability in Stack Group Bidding Protocol (SGBP) support in Cisco IOS 12.0 through 12.4 running on various Cisco products, when SGBP is enabled, allows remote attackers on the local network to cause a denial of service (device hang and network traffic loss) via a crafted UDP packet to port 9900.

Unspecified vulnerability in Stack Group Bidding Protocol (SGBP) support in Cisco IOS 12.0 through 12.4 running on various Cisco products, when SGBP is enabled, allows remote attackers on the local network to cause a denial of service (device hang and network traffic loss) via a crafted UDP packet to port 9900.

CVSS 2.0 Base Score 7.1. CVSS Attack Vector: network. CVSS Attack Complexity: medium. CVSS Vector: (AV:N/AC:M/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 IOS

First reported 19 years ago

2006-01-21 00:03:00

Last updated 7 years ago

2017-07-20 01:29:00

Affected Software

Cisco IOS 12.0

12.0

Cisco IOS 12.0S

12.0s

Cisco IOS 12.0SC

12.0sc

Cisco IOS 12.0T

12.0t

Cisco IOS 12.0XA

12.0xa

Cisco IOS 12.0XC

12.0xc

Cisco IOS 12.0XD

12.0xd

Cisco IOS 12.0XE

12.0xe

Cisco IOS 12.0XG

12.0xg

Cisco IOS 12.0XH

12.0xh

Cisco IOS 12.0XI

12.0xi

Cisco IOS 12.0XJ

12.0xj

Cisco IOS 12.0XK

12.0xk

Cisco IOS 12.0XL

12.0xl

Cisco IOS 12.0XN

12.0xn

Cisco IOS 12.0XR

12.0xr

Cisco IOS 12.1

12.1

Cisco IOS 12.1AA

12.1aa

Cisco IOS 12.1E

12.1e

Cisco IOS 12.1EC

12.1ec

Cisco IOS 12.1EX

12.1ex

Cisco IOS 12.1EZ

12.1ez

Cisco IOS 12.1GA

12.1ga

Cisco IOS 12.1GB

12.1gb

Cisco IOS 12.1T

12.1t

Cisco IOS 12.1XA

12.1xa

Cisco IOS 12.1XD

12.1xd

Cisco IOS 12.1XH

12.1xh

Cisco IOS 12.1XI

12.1xi

Cisco IOS 12.1XL

12.1xl

Cisco IOS 12.1XM

12.1xm

Cisco IOS 12.1XQ

12.1xq

Cisco IOS 12.1XS

12.1xs

Cisco IOS 12.1XU

12.1xu

Cisco IOS 12.1XW

12.1xw

Cisco IOS 12.1XX

12.1xx

Cisco IOS 12.1XY

12.1xy

Cisco IOS 12.1XZ

12.1xz

Cisco IOS 12.1YA

12.1ya

Cisco IOS 12.1YB

12.1yb

Cisco IOS 12.1YD

12.1yd

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.2BY

12.2by

Cisco IOS 12.2CX

12.2cx

Cisco IOS 12.2DD

12.2dd

Cisco IOS 12.2DX

12.2dx

Cisco IOS 12.2MC

12.2mc

Cisco IOS 12.2S

12.2s

Cisco IOS 12.2SU

12.2su

Cisco IOS 12.2SY

12.2sy

Cisco IOS 12.2SZ

12.2sz

Cisco IOS 12.2T

12.2t

Cisco IOS 12.2XA

12.2xa

Cisco IOS 12.2XB

12.2xb

Cisco IOS 12.2XC

12.2xc

Cisco IOS 12.2XF

12.2xf

Cisco IOS 12.2XG

12.2xg

Cisco IOS 12.2XK

12.2xk

Cisco IOS 12.2XL

12.2xl

Cisco IOS 12.2XS

12.2xs

Cisco IOS 12.2XT

12.2xt

Cisco IOS 12.2XV

12.2xv

Cisco IOS 12.2YD

12.2yd

Cisco IOS 12.2YE

12.2ye

Cisco IOS 12.2YN

12.2yn

Cisco IOS 12.2YT

12.2yt

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.2ZD

12.2zd

Cisco IOS 12.2ZE

12.2ze

Cisco IOS 12.2ZJ

12.2zj

Cisco IOS 12.2ZN

12.2zn

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.3T

12.3t

Cisco IOS 12.3XB

12.3xb

Cisco IOS 12.3XD

12.3xd

Cisco IOS 12.3XF

12.3xf

Cisco IOS 12.3XH

12.3xh

Cisco IOS 12.3XI

12.3xi

Cisco IOS 12.3XJ

12.3xj

Cisco IOS 12.3XM

12.3xm

Cisco IOS 12.3XQ

12.3xq

Cisco IOS 12.3XU

12.3xu

Cisco IOS 12.3XW

12.3xw

Cisco IOS 12.3YF

12.3yf

Cisco IOS 12.3YG

12.3yg

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.3YT

12.3yt

Cisco IOS 12.3YU

12.3yu

Cisco IOS 12.3YX

12.3yx

Cisco IOS 12.4

12.4

Cisco IOS 12.4MR

12.4mr

Cisco IOS 12.4T

12.4t

Cisco IOS 12.4XA

12.4xa

Cisco IOS 12.4XB

12.4xb

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.