Miggo Logo

CVE-2023-45683: Cross-site Scripting via missing Binding syntax validation

7.1

CVSS Score
3.1

Basic Information

EPSS Score
0.54668%
Published
10/17/2023
Updated
11/11/2023
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/crewjam/samlgo< 0.4.140.4.14

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from missing URI scheme validation during XML unmarshaling of SAML endpoints. The commit adds checkEndpointLocation validation and implements it in UnmarshalXML methods for both Endpoint and IndexedEndpoint types. The pre-patch versions lacked these validations, making these deserialization functions the entry points for untrusted Location values. The test case added in metadata_test.go specifically verifies rejection of javascript: URIs for HTTP-POST binding, confirming these were the vulnerable parsing points.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t T** p**k*** *o*s not v*li**t* t** **S Lo**tion URI ***or*in* to t** S*ML *in*in* **in* p*rs**. I* **us**, t*is *l*w *llows *tt**k*rs to r**ist*r m*li*ious S*rvi** Provi**rs *t t** I*P *n* inj**t J*v*s*ript in t** **S *n*point ***inition,

Reasoning

T** vuln*r**ility st*ms *rom missin* URI s***m* v*li**tion *urin* XML unm*rs**lin* o* S*ML *n*points. T** *ommit ***s `****k*n*pointLo**tion` v*li**tion *n* impl*m*nts it in `Unm*rs**lXML` m*t*o*s *or *ot* `*n*point` *n* `In**x***n*point` typ*s. T**