[LUGA] Mit freundlicher Unterstützung von:
WSR

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bash vulnerability in CGI Scripts



V.Grabner wrote:
>
>
>   B. Vulnerability Details
>
>      The error
>      involves the variable "string," which has been declared to be of type
>      "char *."
>
>      The "string" variable is used to traverse the character string
>      containing the command line to be parsed.  As characters are retrieved
>      from this pointer, they are stored in a variable of type "int."  On
>      systems/compilers where the "char" type defaults to "signed char", this
>      vaule will be sign-extended when it is assigned to the "int" variable.
>      For character code 255 decimal (-1 in two's complement form), this sign
>      extension results in the value (-1) being assigned to the integer.

Und so weiter und so fort. Welcher C-Programmierer wäre von diesem
Problem noch nie gebissen worden? Ich möchte einen Schilling für jedes
Programm, in dem das Code-Fragment 

char *p;
[...]
while (isspace(*p) p++;

vorkommt. Neben dem Mangel an sicheren String-Manipulationsfunktionen
ist die Tatsache, daß Strings aus signed chars bestehen (können), aber
einzelne Zeichen fast immer als unsigned char (+EOF) behandelt werden
sollen, vermutlich eine der häufigsten Bugursachen in C.

	hp

--
   _  | Peter J. Holzer             | If I were God, or better yet
|_|_) | Sysadmin WSR                | Linus, I would ...
| |   | hjp@wsr.ac.at               |     -- Bill Davidsen
__/   | http://wsrx.wsr.ac.at/~hjp/ |        (davidsen@tmr.com)



powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
September 2010