Security Advisories (1)
CVE-2025-40909 (2025-05-30)

Perl threads have a working directory race condition where file operations may target unintended paths. If a directory handle is open at thread creation, the process-wide current working directory is temporarily changed in order to clone that handle for the new thread, which is visible from any third (or more) thread already running. This may lead to unintended operations such as loading code or accessing files from unexpected locations, which a local attacker may be able to exploit. The bug was introduced in commit 11a11ecf4bea72b17d250cfb43c897be1341861e and released in Perl version 5.13.6

NAME

Test2::Manual::Anatomy::API - Internals documentation for the API.

DESCRIPTION

This document covers some of the internals of Test2::API.

IMPLEMENTATION DETAILS

Test2::API

Test2::API provides a functional interface to any test2 global state. This API should be preserved regardless of internal details of how and where the global state is stored.

This module itself does not store any state (with a few minor exceptions) but instead relies on Test2::API::Instance to store state. This module is really intended to be the layer between the consumer and the implementation details. Ideally the implementation details can change any way they like, and this module can be updated to use the new details without breaking anything.

Test2::API::Instance

Test2::API::Instance is where the global state is actually managed. This is an implementation detail, and should not be relied upon. It is entirely possible that Test2::API::Instance could be removed completely, or changed in incompatible ways. Really these details are free to change so long as Test2::API is not broken.

Test2::API::Instance is fairly well documented, so no additionally documentation is needed for this manual page.

SEE ALSO

Test2::Manual - Primary index of the manual.

SOURCE

The source code repository for Test2-Manual can be found at https://github.com/Test-More/Test2-Suite/.

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Copyright 2018 Chad Granum <exodist@cpan.org>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/