CVE-2011-10043: Module::Load versions before 0.22 for Perl allow arbitrary modules outside of @INC to be loaded
Robert Rothenberg 07 Jul 2026 11:47 UTC
========================================================================
CVE-2011-10043 CPAN Security Group
========================================================================
CVE ID: CVE-2011-10043
Distribution: Module-Load
Versions: before 0.22
MetaCPAN: https://metacpan.org/dist/Module-Load
VCS Repo: https://github.com/jib/module-load
Module::Load versions before 0.22 for Perl allow arbitrary modules
outside of @INC to be loaded
Description
-----------
Module::Load versions before 0.22 for Perl allow arbitrary modules
outside of @INC to be loaded.
Module names starting with "::" could be passed to the load function to
specify arbitrary module paths.
Attackers able to influence module names passed to load could use that
bug to execute arbitrary code.
Problem types
-------------
- CWE-145 Improper Neutralization of Section Delimiters
Solutions
---------
If you are using Perl v5.15.3 or earlier, then upgrade to Module::Load
0.22 or later.
Perl versions after v5.15.4 include newer versions of Module::Load that
fix this issue.
References
----------
https://blogs.perl.org/users/michael_g_schwern/2011/10/how-not-to-load-a-module-or-bad-interfaces-make-good-people-do-bad-things.html
https://metacpan.org/release/BINGOS/Module-Load-0.22/diff/BINGOS/Module-Load-0.20/lib/Module/Load.pm
https://metacpan.org/release/BINGOS/Module-Load-0.22/changes
Timeline
--------
- 2011-10-02: General issue identified by Michael G Schwern in blog
post.
- 2011-10-04: Module::Load 0.22 released.
- 2011-10-20: Perl v5.15.4 released with Module::Load 0.22.