CVE-2026-65059: Furl versions through 3.15 for Perl allow memory exhaustion via unbounded decompression of HTTP responses

Published Nov 2, 2026
·
Updated

Furl versions through 3.15 for Perl allow memory exhaustion via unbounded decompression of HTTP responses.

Furl inflates a response body sent with a gzip, x-gzip or deflate Content-Encoding and appends the output to the response string with no size limit. It does this whether or not the request asked for compression, and no option caps the decompressed size. Responses read with writefile or writecode are streamed rather than held in memory.

A malicious server, or an attacker on a plain HTTP connection, can send a small compressed response that expands to exhaust the client's memory and end the process.

Affected Software

11 affected components
debian/libfurl-perl*
debian/libfurl-perl*
debian/libfurl-perl*
debian/libfurl-perl<=3.14-2, <=3.15-1
ubuntu/libfurl-perl*
ubuntu/libfurl-perl*
ubuntu/libfurl-perl*
ubuntu/libfurl-perl*
ubuntu/libfurl-perl*
ubuntu/libfurl-perl*
ubuntu/libfurl-perl*

Event History

Nov 2, 2026
CVE Published
via OSV·05:01 PM
Data Sourced
via OSV·05:01 PM
DescriptionWeakness
Data Sourced
via NVD·05:17 PM
DescriptionWeakness
Data Sourced
via OSV·05:17 PM
Affected Software
Nov 3, 2026
Data Sourced
via OSV·12:00 AM
Severity

Frequently Asked Questions

1

Which applications are realistically exposed to this issue?

Perl applications using Furl through version 3.15 are exposed when they read HTTP response bodies into memory. The risk is greatest when the application fetches content from malicious or untrusted servers, or uses plain HTTP where an attacker can alter responses in transit.

2

Does an application need to request compressed content for exploitation to work?

No. Furl decompresses responses marked with gzip, x-gzip, or deflate Content-Encoding even if the request did not ask for compression.

3

What can be done if updating is not immediately possible?

Use write_file or write_code to consume responses, because these modes stream response data instead of retaining the decompressed body in memory. Avoid fetching from untrusted endpoints and avoid plain HTTP connections where possible.

4

How can I identify potentially affected code?

Look for uses of Furl that retrieve response bodies into strings or otherwise process the complete response in memory. Requests that use write_file or write_code are streamed and do not hold the full decompressed response in memory.

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