{"id":"GHSA-4m6j-23p2-8c54","summary":"Armeria SAML authentication bypass due to missing validation on unsigned SAML messages","details":"### Impact\n\nThe SAML implementation provided by `armeria-saml` currently accepts unsigned SAML messages (assertions, logout requests, etc.) as they are, rather than rejecting them by default. As a result, an attacker can forge a SAML message to authenticate themselves, despite the fact that such an unsigned SAML message should be rejected.\n\n### Patches\n\nThe vulnerability has been patched in Armeria version 1.27.2. All users who rely on `armeria-saml` older than version 1.27.2 must upgrade to 1.27.2 or later.\n\n### Workarounds\n\nThere is no known workaround for this vulnerability.\n\n### References\n\n[`SamlMessageUtil.validateSignature()`](https://github.com/line/armeria/blob/0efc776988d71be4da6e506ec8a33c2b7b43f567/saml/src/main/java/com/linecorp/armeria/server/saml/SamlMessageUtil.java#L160-L163)","aliases":["CVE-2024-1735"],"modified":"2026-07-08T06:52:59.872809991Z","published":"2024-02-26T20:04:37Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2024-02-26T20:04:37Z","nvd_published_at":"2024-02-26T16:27:53Z","cwe_ids":["CWE-304"],"severity":"CRITICAL"},"references":[{"type":"WEB","url":"https://github.com/line/armeria/security/advisories/GHSA-4m6j-23p2-8c54"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-1735"},{"type":"WEB","url":"https://github.com/line/armeria/commit/b2aa9f49b46a7b0e03d8b8d753809cd1e8e2016c"},{"type":"PACKAGE","url":"https://github.com/line/armeria"},{"type":"WEB","url":"https://github.com/line/armeria/blob/0efc776988d71be4da6e506ec8a33c2b7b43f567/saml/src/main/java/com/linecorp/armeria/server/saml/SamlMessageUtil.java#L160-L163"},{"type":"WEB","url":"https://github.com/line/armeria/releases/tag/armeria-1.27.2"}],"affected":[{"package":{"name":"com.linecorp.armeria:armeria-saml","ecosystem":"Maven","purl":"pkg:maven/com.linecorp.armeria/armeria-saml"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.27.2"}]}],"versions":["0.69.0","0.70.0","0.70.1","0.71.0","0.71.1","0.72.0","0.73.0","0.74.0","0.74.1","0.75.0","0.76.0","0.76.1","0.76.2","0.77.0","0.78.0","0.78.1","0.78.2","0.79.0","0.80.0","0.81.0","0.81.1","0.82.0","0.83.0","0.84.0","0.85.0","0.86.0","0.87.0","0.88.0","0.89.0","0.89.1","0.90.0","0.90.1","0.90.2","0.90.3","0.91.0","0.92.0","0.93.0","0.94.0","0.95.0","0.96.0","0.97.0","0.98.0","0.98.1","0.98.2","0.98.3","0.98.4","0.98.5","0.98.6","0.98.7","0.99.0","0.99.1","0.99.2","0.99.3","0.99.4","0.99.5","0.99.6","0.99.7","0.99.8","0.99.9","1.0.0","1.1.0","1.10.0","1.11.0","1.12.0","1.13.0","1.13.1","1.13.2","1.13.3","1.13.4","1.14.0","1.14.1","1.15.0","1.16.0","1.16.1","1.16.2","1.16.3","1.17.0","1.17.1","1.17.2","1.18.0","1.19.0","1.2.0","1.20.0","1.20.1","1.20.2","1.20.3","1.21.0","1.22.0","1.22.1","1.23.0","1.23.1","1.24.0","1.24.1","1.24.2","1.24.3","1.25.0","1.25.1","1.25.2","1.25.3","1.26.0","1.26.1","1.26.2","1.26.3","1.26.4","1.27.0","1.27.1","1.3.0","1.4.0","1.5.0","1.6.0","1.7.0","1.7.1","1.7.2","1.8.0","1.9.0","1.9.1","1.9.2"],"database_specific":{"last_known_affected_version_range":"\u003c= 1.27.1","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/02/GHSA-4m6j-23p2-8c54/GHSA-4m6j-23p2-8c54.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}