Wednesday Grimm
Ex Libris
Join date: 9 Jan 2003
Posts: 934
|
01-17-2003 13:37
I mentioned this to a Linden in game a while ago, but I don't remember which one (family resemblance, it's hard to tell them apart  , but then there was a Linden emergency, so I don't know if this got written down: Right now for objects that have scripts that set llAllowInventoryDrop() there's nothing to stop a malicious person from dropping in a script and having it run (it could llDie() or llGiveMoney() or whatever). Unless the script does some clever things with the changed() handler, and I'm not even sure that would work. My suggestion is that dropped scripts automatically get their "running" flag unchecked.
|
Aaron Linden
Linden Lab Staff
Join date: 19 Nov 2002
Posts: 59
|
01-17-2003 15:15
Thanks for reporting this! The good news is that this exploit doesn't really exist. The bad news is that it can currently appears to users that it does. When you try to drop a script onto an object that has llAllowInventoryDrop() turned on, the drop actually fails, and the object shouts a message to that effect. Unfortunately, there's a bug: to the person who tried to drop the script, the contents of the object appear to contain the script he/she was trying to drop. That is, the drop appears to have worked! On the other hand, the drop really didn't work. No one else will see the script in the object's contents, the script can't run, and once the person who tried to drop the script logs out and logs back in, they won't see it in the object's contents either. So is there a way to successfully drop a script in a dropbox? Sure, wrap it up first! Make a sphere or other object (your "gift wrapping"  , put your script in it, copy the sphere into your inventory, and then ctrl-drop the sphere from your inventory into the drop box. (You need to hold down the option key while dropping the sphere or else the sphere will appear on top of the drop box.) It's a little convoluted, but it works! Aaron
|