CVE-2023-45683 Cross site scripting via missing binding syntax validation In ACS location in github.com/crewjam/saml
Attackers can inject JavaScript into the ACS endpoint via malicious SAML metadata, leading to XSS and potential account takeover in the IdP context.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2023-45683?
CVE-2023-45683 is a high-severity cross-site scripting vulnerability in crewjam saml, published on 16 Oct 2023. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
github.com/crewjam/saml is a saml library for the go language. In affected versions the package does not validate the ACS Location URI according to the SAML binding being parsed. If abused, this flaw allows attackers to register malicious Service Providers at the IdP and inject Javascript in the ACS endpoint definition, achieving Cross-Site-Scripting (XSS) in the IdP context during the redirection at the end of a SAML SSO Flow. Consequently, an attacker may perform any authenticated action as the victim once the victim’s browser loaded the SAML IdP initiated SSO link for the malicious service provider. Note: SP registration is commonly an unrestricted operation in IdPs, hence not requiring particular permissions or publicly accessible to ease the IdP interoperability. This issue is fixed in version 0.4.14. Users unable to upgrade may perform external validation of URLs provided in SAML metadata, or restrict the ability for end-users to upload arbitrary metadata.
Weakness: CWE-79
Which versions are affected by CVE-2023-45683?
3 open source packages ship an affected version, including github.com/crewjam/saml. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/crewjam/saml Go | All versions | 0.4.14 |
github.com/crewjam/saml Go | All versions | 0.4.14 |
github.com/crewjam/saml Go | All versions | 0.4.14 |
Products include Saml Project Saml.
How do I fix CVE-2023-45683?
Upgrade github.com/crewjam/saml to 0.4.14 or later.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2023-45683 being exploited?
There is no known exploitation of CVE-2023-45683 in the wild and no public exploit code.
Other vulnerabilities in crewjam saml
Sources
Also known as GHSA-267v-3v32-g6q5, GO-2023-2114, UBUNTU-CVE-2023-45683.