CVE-2019-16771
mediumPriorität · verfolgen · 26EPSS 0.010 · 62. PerzentilEUUSEPSS · bewertet 2026-10-28
Versions of Armeria 0.85.0 through and including 0.96.0 are vulnerable to HTTP response splitting, which allows remote attackers to inject arbitrary HTTP headers via CRLF sequences when unsanitized data is used to populate the headers of an HTTP response. This vulnerability has been patched in 0.97.0. Potential impacts of this vulnerability include cross-user defacement, cache poisoning, Cross-site scripting (XSS), and page hijacking.
cvss
Technischer Schweregrad, 0–10. Eine Zeile je Quelle.
Basiswert 0–10 · höher = schwerwiegender · Vektor überfahren zum Auflösen
schwächen
Die CWE-Schwächeklassen, zu denen dies gehört.
betroffene Produkte (4)
Betroffene Produkte und Versionsbereiche.
Advisories (2)
Hersteller- und Ökosystem-Meldungen dazu.
- GHSA-24r8-fm9r-cpj2Low severity vulnerability that affects com.linecorp.armeria:armeria2019-12-05ghsa · osvUS
## Multiple timing attack vulnerabilities leading to the recovery of secrets based on the use of non-constant time compare function ### Impact String comparison method in multiple authentication validation in Armeria were known to be vulnerable to timing attacks. This vulnerability is caused by the insecure implementation of `equals` method from `java.lang.String`. While this attack is not practically possible, an attacker still has a potential to attack if the victim's server validates user by using `equals` method. We would like to thank @chrsow for pointing out the issue. ## Potentially vulnerable codes https://github.com/line/armeria/blob/f0d870fde1088114070be31b67f7df0a21e835c6/core/src/main/java/com/linecorp/armeria/server/auth/OAuth2Token.java#L54 https://github.com/line/armeria/blob/f0d870fde1088114070be31b67f7df0a21e835c6/core/src/main/java/com/linecorp/armeria/server/auth/BasicToken.java#L64 ### Patches There are two options to patch this issue. 1. Remove `equals` method; it has been exclusively used for test cases and was never used in any OSS projects that are using Armeria. (But it is worth noting that there are possibilities of closed projects authenticating users by utilizing `equals` method) 2. Use `MessageDigest.isEqual` to compare the credential instead. ### Workarounds 1. Update to the latest version (TBD) 2-1. Users can prevent these vulnerabilities by modifying and implementing timing attack preventions by themselves. 2-2. Precisely speaking, it is possible to compare credentials by securely comparing them after calling methods to directly return the input (namely `Object. accessToken()`, `Object.username()` and `Object.password()`). ### References - https://cwe.mitre.org/data/definitions/208.html - https://security.stackexchange.com/questions/111040/should-i-worry-about-remote-timing-attacks-on-string-comparison ### Side Note Since it is a theoretical attack, there is no PoC available from neither the vendor nor the security team.
- GHSA-35fr-h7jr-hh86Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting') in Armeria2019-12-06ghsa · osvUS
Versions of Armeria 0.85.0 through and including 0.96.0 are vulnerable to HTTP response splitting, which allows remote attackers to inject arbitrary HTTP headers via CRLF sequences when unsanitized data is used to populate the headers of an HTTP response. ### Impact 1. Cross-User Defacement 2. Cache Poisoning 3. Cross-Site Scripting (XSS) 4. Page Hijacking ### Root Cause The root cause is due to the usage of Netty without the HTTP header validation. https://github.com/line/armeria/blob/f0d870fde1088114070be31b67f7df0a21e835c6/core/src/main/java/com/linecorp/armeria/common/DefaultHttpHeaders.java#L23 ### Patches This vulnerability has been patched in 0.97.0. ### References [CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Response Splitting')](https://cwe.mitre.org/data/definitions/113.html) https://github.com/ratpack/ratpack/security/advisories/GHSA-mvqp-q37c-wf9j ### For more information If you have any questions or comments about this advisory: * Open an issue in [GitHub](https://github.com/line/armeria/issues)
auch bekannt als (5)
Weitere Namen und Kennungen dieser Entität.
quellen
Welche Quellen diesen Datensatz belegen und wann.
Referenzen (8)
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/line/armeria/commit/80310b36196b6fa6efd15af61635d2aa48c44418cnnvd
- https://github.com/line/armeria/commit/b597f7a865a527a84ee3d6937075cfbb4470ed20cnnvd
- https://github.com/line/armeria/security/advisories/GHSA-35fr-h7jr-hh86cnnvd
- https://nvd.nist.gov/vuln/detail/CVE-2019-16771cnnvd
- https://github.com/line/armeria/commit/b597f7a865a527a84ee3d6937075cfbb4470ed20enisa_euvd
- https://github.com/line/armeria/security/advisories/GHSA-35fr-h7jr-hh86enisa_euvd
- https://github.com/line/armeria/commit/b597f7a865a527a84ee3d6937075cfbb4470ed20PatchVendor Advisorynvd
- https://github.com/line/armeria/security/advisories/GHSA-35fr-h7jr-hh86Mailing ListThird Party Advisorynvd
Angreifer nutzen Schwachstellen wie diese gegen im Internet exponierte Dienste aus. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan