Door Spiff: Dankjewel, Bitwiper, voor je aanvullingen.
Okay, graag gedaan! Is meteen voor mezelf ook weer een reminder als ik systemen moet installeren of controleren....
Om onzekerheid weg te nemen over het draaien van KB971029 (om AutoRun in AutoPlay te beperken tot alleen CD/DVD-stations)
na de installatie van de icon/lnk patch (KB2286198 = MS10-046) van vorige week, maar
voor de patches van dinsdagavond, heb ik dat op m'n notebook getest door WindowsXP-KB971029-x86-ENU.exe nogmaals te draaien (die had ik op 2009-12-02 al gedraaid). Daarbij heb ik
vooraf de registerwaarde IsAutorunForCDROMOnly hernoemd. Resultaat: er werd geen enkele foutmelding gepresenteerd, de registerwaarde is weer toegevoegd en op 1 gezet; en -heel belangrijk- shell32.dll (op m'n Engelstalige XP van 2010-07-27 08:30) is
niet overschreven door de versie van vorig jaar (ook niet na een reboot). Conclusie: het draaien van KB971029 lijkt safe ook als er sinds het verschijnen daarvan andere patches zijn gedraaid die dezelfde DLL's door latere versies vervangen.
Sterker, als je Autorun voor alles behalve CD/DVD middels IsAutorunForCDROMOnly wilt blokkeren, is het waarschijnlijk zeer verstandig om sowieso KB971029 te draaien!Reden: als je tot deze zomer KB971029 draaide, deed deze het volgende op XP-SP3 systemen:
- c:\windows\system32\shell32.dll vervangen
- c:\windows\system32\shsvcs.dll vervangen (in de nieuwe komt ook IsAutoRunForCDROMOnly voor in unicode)
- de IsAutorunForCDROMOnly registry value met waarde 1 toevoegen
Als je KB971029
niet gedraaid hebt, zal shsvcs.dll op je system niet zijn vervangen. Dus hoewel KB2286198 = MS10-046 wel shell32.dll vervangt door een versie die "IsAutoRunForCDROMOnly" ondersteunt, ben je wellicht niet volledig beschermd omdat je nog een oude shsvcs.dll op je PC hebt!
Ik heb e.e.a. geverifieerd op een (Engelstalige) XP-SP3 setup die sinds medio december 2009 niet meer gepatched is en waarop KB971029 nooit gedraaid is. Relevante bestanden in c:\windows\system32\ (de bestandsgrootte heb ik erachter gezet):
2008-06-17 21:02 shell32.dll 8,461,312
2008-04-14 05:42 shsvcs.dll 135,168
Na alle updates gedraaid te hebben t/m die van gisteravond (2010-08-10):
2010-07-27 08:30 shell32.dll 8,462,336 (wel vervangen, wel support voor "IsAutoRunForCDROMOnly")
2008-04-14 05:42 shsvcs.dll 135,168 (niet vervangen dus, geen support voor "IsAutoRunForCDROMOnly")
Nog geen entry "IsAutoRunForCDROMOnly" in de registry.
Insteken van een USB memory stick met in de root "notepad.exe" en een "autorun.inf" met de volgende inhoud:
[autorun]
Icon=notepad.exe
shell\open\Command=notepad.exe
shell\explore\Command=notepad.exe
shellexecute=notepad.exe
useautoplay=1
leidde ook in deze configuratie tot het automatisch starten van notepad (waarmee mijn stelling dat er nog geen automatic update is geweest die dit verhindert, voldoende onderbouwd is - lijkt me).
Daarna heb ik met de hand de waarde "IsAutoRunForCDROMOnly" = 1 toegevoegd. Insteken van de USB memory stick leidt tot het openen van een Explorer venster met de root directory (harmless dus), maar omdat de oude shsvcs.dll NIET naar die waarde kijkt
kunnen er omstandigheden zijn waarbij autorun toch nog mogelijk is! Hoewel ik die niet zo snel heb kunnen vinden heeft Microsoft natuurlijk niet voor niets (naast shell32.dll) een update van shsvcs.dll in KB971029 gestopt.
Daarna heb ik "IsAutoRunForCDROMOnly" weer verwijderd, en vervolgens KB971029 geinstalleerd. Ook op deze PC ging dit zonder foutmeldingen, alleen was er nu wel een reboot nodig om shsvcs.dll te kunnen vervangen (stond
voor de reboot in PendingFileRenameOperations in de registry). Na de reboot:
2010-07-27 08:30 shell32.dll 8,462,336 (ongewijzigd, support voor "IsAutoRunForCDROMOnly")
2009-07-28 01:17 shsvcs.dll 135,168 (geupdate, support voor "IsAutoRunForCDROMOnly")
Entry "IsAutoRunForCDROMOnly" met waarde 1 is nu aanwezig in de registry.
Insteken van de USB start geen notepad (opent wel een Explorer venster).
Kortom, de derde optie in mijn bijdrage van 2010-08-09 van 09:25 hierboven is onjuist. Het is waarschijnlijk onjuist om met alleen KB2286198 = MS10-046 op je systeem (automatic update van eind juli voor icon/lnk bug) erop te vertrouwen dat je safe bent als IsAutorunForCDROMOnly=1 handmatig toevoegt aan het register. Beter is het om KB971029 te draaien; dat lijkt, ook met de allerlaatste patches van dit moment, geen problemen op te leveren. Ik pas de 3e optie in m'n bijdrage hierboven zometeen aan!