[Full-Disclosure] Re: Gaim festival plugin exploit
Randal L. Schwartz
merlyn at stonehenge.com
Wed Oct 15 20:17:44 BST 2003
>>>>> "error" == error <error at lostinthenoise.net> writes:
error> Perhaps someone should ask:
error> "(Is s/[^\w]//g really that hard to do?!)"
Or if a shell was even needed at all to pump the data.
error> So a fixed version would look like this:
error> AIM::register("Festival TTS", "0.0.1", "goodbye", "");
error> AIM::print("Perl Says", "Loaded Festival TTS");
error> AIM::command("idle", "60000") if ($pro ne "Offline");
error> AIM::add_event_handler("event_im_recv", "synthesize");
error> sub goodbye {
error> AIM::print("Module Unloaded", "Unloaded Festival TTS");
error> }
error> sub synthesize {
error> my $string = $_[0];
error> $string =~ s/\<.*?\>//g;
error> $string =~ s/\".*\"//;
error> $string =~ s/[^\w]//g;
error> system("echo \"$string\" | /usr/bin/festival --tts");
No, change this to
open FEST, "|/usr/bin/festival -tts";
print FEST $string;
close FEST;
error> }
No shell needed. No worries, mate.
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
Full-Disclosure is hosted and sponsored by Secunia.