dluxhu / perl-parallel-forkmanager

Parallel::ForkManager
20 stars 11 forks source link

parent_pid and $$ can be different #9

Closed yanick closed 8 years ago

yanick commented 8 years ago

When instantiating a forkmanager, and then using it in another process, the child/parent communication is broken as parent_pid is not updated (still referencing the initial PID, not the real parent). I don't know if this is crucial but it could introduce security issues: one could have the time to forge a fake Storage file using the parent PID. This could get mitigated really easily and I don't think it would have side-effects to update parent_pid in start().

Good catch! I don't think (fortunately) that it's a security issue: somebody could also fake the storage file with the current parent pid or the original parent id (or even carpet-bomb the directory with files with "$i-$j" for all $i and $j in a vast range). But the fix is indeed easy, and will be pushed to CPAN real soon.