CVE-2023-27592: Stored XSS in Miniflux when opening a broken image due to unescaped ServerError in proxy handler

Published Mar 17, 2023
·
Updated

Impact

Since v2.0.25, Miniflux will automatically proxy images served over HTTP to prevent mixed content errors.

When an outbound request made by the Go HTTP client fails, the html.ServerError is returned unescaped without the expected Content Security Policy header added to valid responses.

By creating an RSS feed item with the inline description containing an <img> tag with a srcset attribute pointing to an invalid URL like http:a<script>alert(1)</script>, we can coerce the proxy handler into an error condition where the invalid URL is returned unescaped and in full.

This results in JavaScript execution on the Miniflux instance as soon as the user is convinced (e.g. by a message in the alt text) to open the broken image.

An attacker can execute arbitrary JavaScript in the context of a victim Miniflux user when they open a broken image in a crafted RSS feed. This can be used to perform actions on the Miniflux instance as that user and gain administrative access to the Miniflux instance if it is reachable and the victim is an administrator.

Patches

PR #1746 fixes the problem. Available in Miniflux >= 2.0.43.

Workarounds

- Disable image proxy (default value is http-only).

References

- https://miniflux.app/docs/configuration.html#proxy-images

Other sources

Miniflux is a feed reader. Since v2.0.25, Miniflux will automatically proxy images served over HTTP to prevent mixed content errors.

When an outbound request made by the Go HTTP client fails, the html.ServerError is returned unescaped without the expected Content Security Policy header added to valid responses.

By creating an RSS feed item with the inline description containing an <img> tag with a srcset attribute pointing to an invalid URL like http:a<script>alert(1)</script>, we can coerce the proxy handler into an error condition where the invalid URL is returned unescaped and in full.

This results in JavaScript execution on the Miniflux instance as soon as the user is convinced (e.g. by a message in the alt text) to open the broken image.

An attacker can execute arbitrary JavaScript in the context of a victim Miniflux user when they open a broken image in a crafted RSS feed. This can be used to perform actions on the Miniflux instance as that user and gain administrative access to the Miniflux instance if it is reachable and the victim is an administrator.

A patch is available in version 2.0.43. As a workaround sisable image proxy; default value is http-only.

— MITRE

Affected Software

2 affected componentsFixes available
Miniflux Project Miniflux Go>=2.0.25<2.0.43
go/miniflux.app/v2>=2.0.25<2.0.43
2.0.43

Event History

Mar 17, 2023
CVE Published
via MITRE·07:04 PM
Data Sourced
via MITRE·07:04 PM
DescriptionSeverityWeakness
Apr 2, 2025
Advisory Published
via GitHub·05:25 PM

Frequently Asked Questions

1

What is the severity of CVE-2023-27592?

CVE-2023-27592 has a medium severity rating due to potential risks associated with proxying images served over HTTP.

2

How do I fix CVE-2023-27592?

To address CVE-2023-27592, upgrade Miniflux to version 2.0.43 or later.

3

What versions of Miniflux are affected by CVE-2023-27592?

CVE-2023-27592 affects Miniflux versions between 2.0.25 and 2.0.43, excluding 2.0.43.

4

What is the potential impact of CVE-2023-27592?

The impact of CVE-2023-27592 includes the risk of mixed content errors when proxying HTTP images.

5

Is there a workaround for CVE-2023-27592?

The recommended workaround for CVE-2023-27592 is to immediately upgrade to the fixed version, as no temporary workaround is provided.

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