Every CVE Search/ Get API key

CVE-2025-27088

Reflected Cross-site Scripting (XSS) in template implementation in oxyno-zeta/s3-proxy

8.4 HighFix available

oxyno-zeta/s3-proxy is an aws s3 proxy written in go. In affected versions a Reflected Cross-site Scripting (XSS) vulnerability enables attackers to create malicious URLs that, when visited, inject scripts into the web application. This can lead to session hijacking or phishing attacks on a trusted domain, posing a moderate risk to all users. It's possible to inject html elements, including scripts through the folder-list template. The affected template allows users to interact with the URL path provided by the Request.URL.Path variable, which is then rendered directly into the HTML without proper sanitization or escaping. This can be abused by attackers who craft a malicious URL containing injected HTML or JavaScript. When users visit such a URL, the malicious script will be executed in the user's context. This issue has been addressed in version 4.18.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Passive

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.50%Up 0.5 points since Feb 21, 2025
90%50%10%1%

What each source reports

CVE List Score used 8.4

Reflected Cross-site Scripting (XSS) in template implementation in oxyno-zeta/s3-proxy

oxyno-zeta/s3-proxy is an aws s3 proxy written in go. In affected versions a Reflected Cross-site Scripting (XSS) vulnerability enables attackers to create malicious URLs that, when visited, inject scripts into the web application. This can lead to session hijacking or phishing attacks on a trusted domain, posing a moderate risk to all users. It's possible to inject html elements, including scripts through the folder-list template. The affected template allows users to interact with the URL path provided by the Request.URL.Path variable, which is then rendered directly into the HTML without proper sanitization or escaping. This can be abused by attackers who craft a malicious URL containing injected HTML or JavaScript. When users visit such a URL, the malicious script will be executed in the user's context. This issue has been addressed in version 4.18.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2025-27088
CVSS 4.0
8.4 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2025-4517 8.4

oxyno-zeta/s3-proxy is an aws s3 proxy written in go. In affected versions a Reflected Cross-site Scripting (XSS) vulnerability enables attackers to create malicious URLs that, when visited, inject scripts into the web application. This can lead to session hijacking or phishing attacks on a trusted domain, posing a moderate risk to all users. It's possible to inject html elements, including scripts through the folder-list template. The affected template allows users to interact with the URL path provided by the Request.URL.Path variable, which is then rendered directly into the HTML without proper sanitization or escaping. This can be abused by attackers who craft a malicious URL containing injected HTML or JavaScript. When users visit such a URL, the malicious script will be executed in the user's context. This issue has been addressed in version 4.18.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
EUVD-2025-4517
CVSS 4.0
8.4 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-pp9m-qf39-hxjc 8.4

S3-Proxy allows Reflected Cross-site Scripting (XSS) in template implementation

Summary

A Reflected Cross-site Scripting (XSS) vulnerability enables attackers to create malicious URLs that, when visited, inject scripts into the web application. This can lead to session hijacking or phishing attacks on a trusted domain, posing a high risk to all users.

Details

Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer. It's possible to inject html elements, including scripts through the folder-list template. It seems like the .Request.URL.Path variable is not escaped.

I did some research and found it might be due to the text/template import being used in the template implementation, instead of the safer html/template.

PoC

Complete instructions, including specific configuration details, to reproduce the vulnerability. Using the default template configuration, the vulnerability can be reproduced with the following steps.

  1. Navigate to https://your-s3-proxy.com/path-not-found and confirm the page looks as follows:

  2. Try inserting an HTML element by changing /path-not-found to /<img src="x"> and confirm the page looks as follows:

  3. Now it should be possible to run any JavaScript by manipulating the onerror property of the img element. This should make the link look like https://your-s3-proxy.com/<img src="x" onerror="alert(1)">. Confirm that going to this URL will in fact shows an alert in the browser.

Impact

The affected template allows users to interact with the URL path provided by the Request.URL.Path variable, which is then rendered directly into the HTML without proper sanitization or escaping. This can be abused by attackers who craft a malicious URL containing injected HTML or JavaScript. When users visit such a URL, the malicious script will be executed in the user's context, leading to potential risks such as:

  • Session Hijacking: Malicious scripts could be used to steal session cookies or other sensitive information.
  • Phishing Attacks: JavaScript could be injected to trick users into submitting sensitive information, such as login credentials.

This vulnerability can be exploited by attackers who craft URLs containing malicious payloads, which would then execute in the user's browser when they access the affected page. This poses a high risk to all users who visit such URLs.

Record
GHSA-pp9m-qf39-hxjc
CVSS 4.0
8.4 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
NVD 8.4

oxyno-zeta/s3-proxy is an aws s3 proxy written in go. In affected versions a Reflected Cross-site Scripting (XSS) vulnerability enables attackers to create malicious URLs that, when visited, inject scripts into the web application. This can lead to session hijacking or phishing attacks on a trusted domain, posing a moderate risk to all users. It's possible to inject html elements, including scripts through the folder-list template. The affected template allows users to interact with the URL path provided by the Request.URL.Path variable, which is then rendered directly into the HTML without proper sanitization or escaping. This can be abused by attackers who craft a malicious URL containing injected HTML or JavaScript. When users visit such a URL, the malicious script will be executed in the user's context. This issue has been addressed in version 4.18.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2025-27088
CVSS 4.0
8.4 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 8.4

Reflected Cross-site Scripting (XSS) in template implementation in oxyno-zeta/s3-proxy

oxyno-zeta/s3-proxy is an aws s3 proxy written in go. In affected versions a Reflected Cross-site Scripting (XSS) vulnerability enables attackers to create malicious URLs that, when visited, inject scripts into the web application. This can lead to session hijacking or phishing attacks on a trusted domain, posing a moderate risk to all users. It's possible to inject html elements, including scripts through the folder-list template. The affected template allows users to interact with the URL path provided by the Request.URL.Path variable, which is then rendered directly into the HTML without proper sanitization or escaping. This can be abused by attackers who craft a malicious URL containing injected HTML or JavaScript. When users visit such a URL, the malicious script will be executed in the user's context. This issue has been addressed in version 4.18.1 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2025-27088
CVSS 4.0
8.4 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-pp9m-qf39-hxjc 8.4

S3-Proxy allows Reflected Cross-site Scripting (XSS) in template implementation

Summary

A Reflected Cross-site Scripting (XSS) vulnerability enables attackers to create malicious URLs that, when visited, inject scripts into the web application. This can lead to session hijacking or phishing attacks on a trusted domain, posing a high risk to all users.

Details

Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer. It's possible to inject html elements, including scripts through the folder-list template. It seems like the .Request.URL.Path variable is not escaped.

I did some research and found it might be due to the text/template import being used in the template implementation, instead of the safer html/template.

PoC

Complete instructions, including specific configuration details, to reproduce the vulnerability. Using the default template configuration, the vulnerability can be reproduced with the following steps.

  1. Navigate to https://your-s3-proxy.com/path-not-found and confirm the page looks as follows:

  2. Try inserting an HTML element by changing /path-not-found to /<img src="x"> and confirm the page looks as follows:

  3. Now it should be possible to run any JavaScript by manipulating the onerror property of the img element. This should make the link look like https://your-s3-proxy.com/<img src="x" onerror="alert(1)">. Confirm that going to this URL will in fact shows an alert in the browser.

Impact

The affected template allows users to interact with the URL path provided by the Request.URL.Path variable, which is then rendered directly into the HTML without proper sanitization or escaping. This can be abused by attackers who craft a malicious URL containing injected HTML or JavaScript. When users visit such a URL, the malicious script will be executed in the user's context, leading to potential risks such as:

  • Session Hijacking: Malicious scripts could be used to steal session cookies or other sensitive information.
  • Phishing Attacks: JavaScript could be injected to trick users into submitting sensitive information, such as login credentials.

This vulnerability can be exploited by attackers who craft URLs containing malicious payloads, which would then execute in the user's browser when they access the affected page. This poses a high risk to all users who visit such URLs.

Record
GHSA-pp9m-qf39-hxjc
CVSS 4.0
8.4 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVGO-2025-3477 No score

S3-Proxy allows Reflected Cross-site Scripting (XSS) in template implementation in github.com/oxyno-zeta/s3-proxy

S3-Proxy allows Reflected Cross-site Scripting (XSS) in template implementation in github.com/oxyno-zeta/s3-proxy

Record
GO-2025-3477
Updated
2026-11-02
OSVopenSUSE-SU-2025:14889-1 No score

govulncheck-vulndb-0.0.20250312T181707-1.1 on GA media

These are all security issues fixed in the govulncheck-vulndb-0.0.20250312T181707-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2025:14889-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/oxyno-zeta/s3-proxy/cmd/s3-proxy
Go
through 0.0.0-20250212215955-2873011f7c42
0.0.0-20250220214310-c611c741ed48
github.com/oxyno-zeta/s3-proxy/cmd/s3-proxy
Go
before 0.0.0-20250220214310-c611c741ed48
0.0.0-20250220214310-c611c741ed48
github.com/oxyno-zeta/s3-proxy
Go
before 0.0.0-20250220214310-c611c741ed48
0.0.0-20250220214310-c611c741ed48
govulncheck-vulndb
openSUSE:Tumbleweed
From an advisory covering 31 CVEs
before 0.0.20250312T181707-1.1
0.0.20250312T181707-1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2025-27088 is a high vulnerability (CVSS 8.4) in Oxyno-zeta S3-proxy, published February 20, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.50%, the 42nd percentile. Fixed in github.com/oxyno-zeta/s3-proxy/cmd/s3-proxy 0.0.0-20250220214310-c611c741ed48.

References

Show 33 moreShow less
MoveEnter Open