{"id":"CVE-2024-45302","state":"PUBLISHED","title":"CRLF Injection in RestSharp's `RestRequest.AddHeader` method","description":"RestSharp is a Simple REST and HTTP API Client for .NET. The second argument to `RestRequest.AddHeader` (the header value) is vulnerable to CRLF injection. The same applies to `RestRequest.AddOrUpdateHeader` and `RestClient.AddDefaultHeader`. The way HTTP headers are added to a request is via the `HttpHeaders.TryAddWithoutValidation` method which does not check for CRLF characters in the header value. This means that any headers from a `RestSharp.RequestHeaders` object are added to the request in such a way that they are vulnerable to CRLF-injection. In general, CRLF-injection into a HTTP header (when using HTTP/1.1) means that one can inject additional HTTP headers or smuggle whole HTTP requests. If an application using the RestSharp library passes a user-controllable value through to a header, then that application becomes vulnerable to CRLF-injection. This is not necessarily a security issue for a command line application like the one above, but if such code were present in a web application then it becomes vulnerable to request splitting (as shown in the PoC) and thus Server Side Request Forgery. Strictly speaking this is a potential vulnerability in applications using RestSharp, not in RestSharp itself, but I would argue that at the very least there needs to be a warning about this behaviour in the RestSharp documentation. RestSharp has addressed this issue in version 112.0.0. All users are advised to upgrade. There are no known workarounds for this vulnerability.","publishedAt":"2024-08-29T21:18:43.261Z","updatedAt":"2024-08-30T14:55:34.162Z","severity":{"score":6.1,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["restsharp RestSharp"],"affected":[{"vendor":"restsharp","product":"RestSharp","versions":[{"version":">= 107, < 112.0.0","status":"affected"}]}],"references":["https://github.com/restsharp/RestSharp/security/advisories/GHSA-4rr6-2v9v-wcpc","https://github.com/restsharp/RestSharp/commit/0fba5e727d241b1867bd71efc912594075c2934b","https://github.com/restsharp/RestSharp/blob/777bf194ec2d14271e7807cc704e73ec18fcaf7e/src/RestSharp/Request/HttpRequestMessageExtensions.cs#L32"],"weaknesses":["CWE-93"],"ingestedAt":"2026-10-29T20:07:47.831Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/45xxx/CVE-2024-45302.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2024-45302","state":"PUBLISHED","datePublished":"2024-08-29T21:18:43.261Z","dateUpdated":"2024-08-30T14:55:34.162Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2024-08-26T18:25:35.443Z"},"containers":{"cna":{"title":"CRLF Injection in RestSharp's `RestRequest.AddHeader` method","descriptions":[{"lang":"en","value":"RestSharp is a Simple REST and HTTP API Client for .NET. The second argument to `RestRequest.AddHeader` (the header value) is vulnerable to CRLF injection. The same applies to `RestRequest.AddOrUpdateHeader` and `RestClient.AddDefaultHeader`. The way HTTP headers are added to a request is via the `HttpHeaders.TryAddWithoutValidation` method which does not check for CRLF characters in the header value. This means that any headers from a `RestSharp.RequestHeaders` object are added to the request in such a way that they are vulnerable to CRLF-injection. In general, CRLF-injection into a HTTP header (when using HTTP/1.1) means that one can inject additional HTTP headers or smuggle whole HTTP requests. If an application using the RestSharp library passes a user-controllable value through to a header, then that application becomes vulnerable to CRLF-injection. This is not necessarily a security issue for a command line application like the one above, but if such code were present in a web application then it becomes vulnerable to request splitting (as shown in the PoC) and thus Server Side Request Forgery. Strictly speaking this is a potential vulnerability in applications using RestSharp, not in RestSharp itself, but I would argue that at the very least there needs to be a warning about this behaviour in the RestSharp documentation. RestSharp has addressed this issue in version 112.0.0. All users are advised to upgrade. There are no known workarounds for this vulnerability."}],"affected":[{"vendor":"restsharp","product":"RestSharp","versions":[{"version":">= 107, < 112.0.0","status":"affected"}]}],"references":[{"url":"https://github.com/restsharp/RestSharp/security/advisories/GHSA-4rr6-2v9v-wcpc","name":"https://github.com/restsharp/RestSharp/security/advisories/GHSA-4rr6-2v9v-wcpc","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/restsharp/RestSharp/commit/0fba5e727d241b1867bd71efc912594075c2934b","name":"https://github.com/restsharp/RestSharp/commit/0fba5e727d241b1867bd71efc912594075c2934b","tags":["x_refsource_MISC"]},{"url":"https://github.com/restsharp/RestSharp/blob/777bf194ec2d14271e7807cc704e73ec18fcaf7e/src/RestSharp/Request/HttpRequestMessageExtensions.cs#L32","name":"https://github.com/restsharp/RestSharp/blob/777bf194ec2d14271e7807cc704e73ec18fcaf7e/src/RestSharp/Request/HttpRequestMessageExtensions.cs#L32","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"LOCAL","availabilityImpact":"HIGH","baseScore":6.1,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-93","lang":"en","description":"CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection')","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2024-08-29T21:18:43.261Z"},"source":{"advisory":"GHSA-4rr6-2v9v-wcpc","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","affected":[{"vendor":"restsharp","product":"restsharp","defaultStatus":"unknown","versions":[{"version":"107","status":"affected","lessThan":"112.0.0","versionType":"custom"}],"cpes":["cpe:2.3:a:restsharp:restsharp:*:*:*:*:*:*:*:*"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-08-30T14:54:23.955865Z","id":"CVE-2024-45302","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-08-30T14:55:34.162Z"}}]}}}