fixed #8980: possible to execute arbitrary perl code as any user that can upload files
This commit is contained in:
parent
7d33b9fab8
commit
b57b632810
2 changed files with 5 additions and 1 deletions
|
|
@ -1522,12 +1522,15 @@ sub isValidRssItem { 1 }
|
|||
|
||||
=head2 loadModule ( $session, $className )
|
||||
|
||||
Loads an asset module if it's not already in memory. This is a class method. Returns undef on failure to load, otherwise returns the classname.
|
||||
Loads an asset module if it's not already in memory. This is a class method. Returns undef on failure to load, otherwise returns the classname. Will only load classes in the WebGUI::Asset namespace.
|
||||
|
||||
=cut
|
||||
|
||||
sub loadModule {
|
||||
my ($class, $session, $className) = @_;
|
||||
if ($className !~ /^WebGUI::Asset(?:$|::)/ ) {
|
||||
return undef;
|
||||
}
|
||||
(my $module = $className . '.pm') =~ s{::|'}{/}g;
|
||||
if (eval { require $module; 1 }) {
|
||||
return $className;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue