Stories
Slash Boxes
Comments

SoylentNews is people

posted by chromas on Monday April 09 2018, @06:12PM   Printer-friendly
from the (unsigned⠀int) dept.

https://www.theregister.co.uk/2018/04/04/microsoft_windows_defender_rar_bug/

A remote-code execution vulnerability in Windows Defender – a flaw that can be exploited by malicious .rar files to run malware on PCs – has been traced back to an open-source archiving tool Microsoft adopted for its own use.

[...] Apparently, Microsoft forked that version of unrar and incorporated the component into its operating system's antivirus engine. That forked code was then modified so that all signed integer variables were converted to unsigned variables, causing knock-on problems with mathematical comparisons. This in turn left the software vulnerable to memory corruption errors, which can crash the antivirus package or allow malicious code to potentially execute.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by tangomargarine on Tuesday April 10 2018, @04:15PM

    by tangomargarine (667) on Tuesday April 10 2018, @04:15PM (#665000)

    Nope.

    Create a an unsigned integer x in any language of your choice. Then do a while(x >= 0). Your program will hang.

    I like how your example ironically uses an *unsigned* integer. Does anybody other than the aforementioned C-style languages use unsigneds these days?

    In fact, take any language with more than one variable type, and change a variable to a different type without understanding the consequences. You will run into problems.

    A Javascript example:

    if(0) // false.
    if("0") // true

    Well yeah, because JavaScript is horrible and ugly and no.

    --
    "Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2