Permalänk
Glömsk

Varning: KB824141

MS släppte nyligen en säkerhetsuppdatering för flera olika operativsystem som finns på bland annat windows update. Uppdateringen heter KB824141 och ska fixa ett problem som gör att man kan köra filer med comboboxar och listboxar.

Mer info

Jag rekommenderar er att inte installera den än eftersom vissa tredjepartsprogram slutar fungera när man installerar den. MS fixar förmodligen det problemet snart.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Medlem

Jag fattar inte riktigt vad det fixar, att man kan "köra filer med comboboxar och listboxar"? På villket sätt då?

Visa signatur
Permalänk
Glömsk

Bra fråga, sammanfattade bara rubriken.

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk
Hedersmedlem

Ok tackar för tipset. Hoppas inte någon av KB828035, KB825119 och KB823182 har några problem för dem installerar jag nu.

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem

Alltså. Släpper inte Microsoft säkerhetsuppdateringar som fixar kritiska eller allvarliga säkerhetshål varje vecka? (Nu vet jag iofs inte om detta var så allvarligt p.g.a. att jag inte orkar läsa)

Visa signatur

I'm the operator with my pocket calculator

Permalänk
Medlem

Jag klagar då inte, blev ordentligt less på att filerna hela tiden kördes genom comboboxar och listboxar.

Visa signatur
Permalänk
Hedersmedlem

Någon som vet hur det gick med den här, har de släppt någon version som fungerar prima med 3:e parts program?

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem

"Buffer Overrun in the ListBox and in the ComboBox Control Could Allow Code Execution"

Jag tror jag förklara kan hur det fungerar.

Data i ett program lagras vanligtvis på den så kallade Stacken som är en del av RAM-minnet. Minnesadressen till stacken finns lagrad i ett av processorns register som heter ESP (Extended Stack Pointer) och när en funktion i ett program anropas så lagras automatiskt adressen tillbaka till koden som anropade funktionen i minnet som ESP pekar på (annars vet ju inte processorn vart den skall fortsätta när funktionen är slut).

När funktionen skall reservera minne för lagring av data läggs denna data i minnesutrymmet innan ESP. Det betyder att minnet runt ESP skulle se ut så här om funktionen reserverade 20 bytes (punkt=1 byte, kommatecken=okänd data i minnet):

,,,,,....................4302145h,,,,,,,

4302145h är adressen till anroparen som funktionen läser av när den är klar och skall hoppa tillbaka (finns på adressen som ESP pekar på). Punkterna representerar alltså allokerat minne. Anta att vi lagrar strängen 'Delight' i det minnesutrymmet så skulle det se ut så här:

,,,,,Delight...........4302145h,,,,,,,

OK, så långt inga problem. Men vad händer om jag försöker slänga in 'Delight har en vit taklampa', ja då ser det ut så här:

,,,,,Delight har en vit taklampa,,

Alltså, adressen som funktionen behöver för att hitta tillbaka till anroparen skrivs över med massa tecken! Detta är inte bra. Antagligen kommer processorn försöka hoppa till en minnesadress som inte finns vilket leder till att programmet krashar.

Nu är det så att ComboBoxarna som det handlade använder en lika dan buffer för lagringen av texten i ComboBoxen. Om man skulle fylla en combox med en för stor text skulle alltså programmet krasha. MEN, det folk har upptäckt är att om man fyller det allokerade minnet precis så långt som det håller för och lägger till en ny giltig hopp-adress kommer processorn hoppa till stället . Jag tar ett exempel:

,,,,,Delight är bäst!!!4302145h,,,,,,,

'Delight är bäst!!!' skulle jag alltså ha kunnat skrivit in och samtidigt ha behållit adressen till anroparen. Om jag hade skrivit 'Delight är bäst!!!' och sedan fortsatt med tecken som anger en ny giltig minnesadress skulle alltså funktionen ha hoppat dit istället för att krasha:

,,,,,Delight är bäst!!!4309940h,,,,,,,

Det är på detta sätt en ComboBox kan användas för att köra kod. Vet man t.ex. exakt på vilken minnesadress ett program startar är det bara att fylla buffern med vad som helst fram tills adressen kommer och då skriva över den med den adressen så körs sedan den koden. Sedan kan man istället för att skriva in en text, som i mitt fall, skriva in kod och ange hoppadressen till början av den koden så kommer den att exekveras.

Hehe, undrar om någon förstår

Visa signatur

www.filipsprogram.tk - lite freeware
"Delight, herregud. Talang är bara förnamnet."

Permalänk
Hedersmedlem

Jo jag hade ganska bra koll på vad det gick ut på. Du Delight, du gillar dig själv va "Deligt är bäst!!!".

Är det någon skillnad på Buffer Overrun och Buffer Overflow?

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem

Fyfan... ÄNTLIGEN nån som har förklarat vad buffer overflow/overrun innebär så att man förstår... tack Delight... du är bäst... sen så kan din förklaring överföras på dom flesta buffertar oxo... inte enbart på combo/listboxar...

Permalänk
Medlem

Jag vet att SPCS Administration slutar fungera om man installerar den patchen på en 2000 maskin.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Delight
"Buffer Overrun in the ListBox and in the ComboBox Control Could Allow Code Execution"

Jag tror jag förklara kan hur det fungerar.

...........

Hehe, undrar om någon förstår

Tyckte det var en mycket bra förklaring. Tackar.

Visa signatur