CVE-2026-77781: Tie::Hash::Regex versions before 2.0.0 for Perl will throw an exception on unparseable lookup keys

Published Aug 21, 2026
·
Updated

Tie::Hash::Regex versions before 2.0.0 for Perl will throw an exception on unparseable lookup keys.

The FETCH, EXISTS and DELETE methods throw an exception when on malformed regular expressions.

Each method falls back to a regex match when the key is not already stored in the hash, compiling the caller's key with a bare qr// and no eval guard. A key that is not a valid regular expression pattern, such as a single unmatched bracket, dies.

An application that looks up externally supplied strings in a tied hash will die on an invalid key.

Affected Software

2 affected components
Perl Tie::Hash::gex<2.0.0
Perl Tie::Hash::Regex<2.0.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Tie::Hash::Regex to a version that resolves this vulnerability.

    Fixed in 2.0.0Patch CVE-2026-77781

Event History

Aug 21, 2026
CVE Published
via MITRE·11:57 PM
Data Sourced
via MITRE·11:57 PM
RemedyDescriptionWeakness
Aug 22, 2026
Data Sourced
via NVD·12:16 AM
DescriptionWeakness

Frequently Asked Questions

1

Which applications are realistically exposed to this failure?

Applications are exposed when they use a tied Tie::Hash::Regex hash and pass externally supplied strings to FETCH, EXISTS, or DELETE. The failure occurs when the supplied key is not already present and is malformed as a regular expression.

2

What input is needed to trigger the exception?

An attacker or other input source only needs to provide an invalid regular-expression pattern as a lookup key, such as a single unmatched bracket. The affected methods compile the key as a regular expression without an eval guard, causing the application to die.

3

Are all tied-hash lookups affected?

No. The vulnerable regex fallback is used when the requested key is not already stored in the hash. FETCH, EXISTS, and DELETE are the affected methods under that condition.

4

How can I determine whether an application is affected?

Check whether it uses Tie::Hash::Regex before version 2.0.0 and performs FETCH, EXISTS, or DELETE operations with externally controlled lookup keys. A malformed regex key that is absent from the hash can reproduce the exception.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203