cve-2022-3215
Vulnerability from cvelistv5
Published
2022-09-28 19:32
Modified
2024-08-03 01:00
Severity ?
EPSS score ?
Summary
NIOHTTP1 and projects using it for generating HTTP responses can be subject to a HTTP Response Injection attack. This occurs when a HTTP/1.1 server accepts user generated input from an incoming request and reflects it into a HTTP/1.1 response header in some form. A malicious user can add newlines to their input (usually in encoded form) and "inject" those newlines into the returned HTTP response. This capability allows users to work around security headers and HTTP/1.1 framing headers by injecting entirely false responses or other new headers. The injected false responses may also be treated as the response to subsequent requests, which can lead to XSS, cache poisoning, and a number of other flaws. This issue was resolved by adding validation to the HTTPHeaders type, ensuring that there's no whitespace incorrectly present in the HTTP headers provided by users. As the existing API surface is non-failable, all invalid characters are replaced by linear whitespace.
References
Impacted products
Vendor | Product | Version | |
---|---|---|---|
▼ | Swift Project | SwiftNIO |
Version: unspecified < |
|
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-03T01:00:10.853Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f" } ], "title": "CVE Program Container" } ], "cna": { "affected": [ { "product": "SwiftNIO", "vendor": "Swift Project", "versions": [ { "lessThanOrEqual": "2.41.2", "status": "affected", "version": "unspecified", "versionType": "custom" } ] } ], "descriptions": [ { "lang": "en", "value": "NIOHTTP1 and projects using it for generating HTTP responses can be subject to a HTTP Response Injection attack. This occurs when a HTTP/1.1 server accepts user generated input from an incoming request and reflects it into a HTTP/1.1 response header in some form. A malicious user can add newlines to their input (usually in encoded form) and \"inject\" those newlines into the returned HTTP response. This capability allows users to work around security headers and HTTP/1.1 framing headers by injecting entirely false responses or other new headers. The injected false responses may also be treated as the response to subsequent requests, which can lead to XSS, cache poisoning, and a number of other flaws. This issue was resolved by adding validation to the HTTPHeaders type, ensuring that there\u0027s no whitespace incorrectly present in the HTTP headers provided by users. As the existing API surface is non-failable, all invalid characters are replaced by linear whitespace." } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-113", "description": "CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2022-09-28T19:32:30", "orgId": "e4a1ddda-f4f5-496e-96c8-82c37d06abd0", "shortName": "Swift" }, "references": [ { "tags": [ "x_refsource_MISC" ], "url": "https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f" } ], "x_legacyV4Record": { "CVE_data_meta": { "ASSIGNER": "cve@forums.swift.org", "ID": "CVE-2022-3215", "STATE": "PUBLIC" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "SwiftNIO", "version": { "version_data": [ { "version_affected": "\u003c=", "version_value": "2.41.2" } ] } } ] }, "vendor_name": "Swift Project" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "NIOHTTP1 and projects using it for generating HTTP responses can be subject to a HTTP Response Injection attack. This occurs when a HTTP/1.1 server accepts user generated input from an incoming request and reflects it into a HTTP/1.1 response header in some form. A malicious user can add newlines to their input (usually in encoded form) and \"inject\" those newlines into the returned HTTP response. This capability allows users to work around security headers and HTTP/1.1 framing headers by injecting entirely false responses or other new headers. The injected false responses may also be treated as the response to subsequent requests, which can lead to XSS, cache poisoning, and a number of other flaws. This issue was resolved by adding validation to the HTTPHeaders type, ensuring that there\u0027s no whitespace incorrectly present in the HTTP headers provided by users. As the existing API surface is non-failable, all invalid characters are replaced by linear whitespace." } ] }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers" } ] } ] }, "references": { "reference_data": [ { "name": "https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f", "refsource": "MISC", "url": "https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f" } ] } } } }, "cveMetadata": { "assignerOrgId": "e4a1ddda-f4f5-496e-96c8-82c37d06abd0", "assignerShortName": "Swift", "cveId": "CVE-2022-3215", "datePublished": "2022-09-28T19:32:30", "dateReserved": "2022-09-14T00:00:00", "dateUpdated": "2024-08-03T01:00:10.853Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "fkie_nvd": { "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:apple:swiftnio:*:*:*:*:*:*:*:*\", \"versionEndExcluding\": \"2.29.1\", \"matchCriteriaId\": \"7DE92207-1814-4053-ABD1-36CFF3BB8BF8\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:apple:swiftnio:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"2.30.0\", \"versionEndExcluding\": \"2.39.1\", \"matchCriteriaId\": \"42384BB2-84B3-4DCB-A215-4F21D058A833\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:a:apple:swiftnio:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"2.40.0\", \"versionEndExcluding\": \"2.42.0\", \"matchCriteriaId\": \"F1D8C095-CF99-4ED4-96C8-DD0396D5509D\"}]}]}]", "descriptions": "[{\"lang\": \"en\", \"value\": \"NIOHTTP1 and projects using it for generating HTTP responses can be subject to a HTTP Response Injection attack. This occurs when a HTTP/1.1 server accepts user generated input from an incoming request and reflects it into a HTTP/1.1 response header in some form. A malicious user can add newlines to their input (usually in encoded form) and \\\"inject\\\" those newlines into the returned HTTP response. This capability allows users to work around security headers and HTTP/1.1 framing headers by injecting entirely false responses or other new headers. The injected false responses may also be treated as the response to subsequent requests, which can lead to XSS, cache poisoning, and a number of other flaws. This issue was resolved by adding validation to the HTTPHeaders type, ensuring that there\u0027s no whitespace incorrectly present in the HTTP headers provided by users. As the existing API surface is non-failable, all invalid characters are replaced by linear whitespace.\"}, {\"lang\": \"es\", \"value\": \"NIOHTTP1 y los proyectos que lo usan para generar respuestas HTTP pueden ser objeto de un ataque de inyecci\\u00f3n de respuesta HTTP. Esto ocurre cuando un servidor HTTP/1.1 acepta entradas generadas por el usuario desde una petici\\u00f3n entrante y las refleja en un encabezado de respuesta HTTP/1.1 de alguna forma. Un usuario malicioso puede a\\u00f1adir nuevas l\\u00edneas a su entrada (normalmente en forma codificada) e \\\"inyectar\\\" esas nuevas l\\u00edneas en la respuesta HTTP devuelta. Esta capacidad permite a usuarios eludir los encabezados de seguridad y los encabezados de enmarcado HTTP/1.1 inyectando respuestas completamente falsas u otros encabezados nuevos. Las respuestas falsas inyectadas tambi\\u00e9n pueden ser tratadas como la respuesta a peticiones posteriores, lo que puede conllevar a un ataque de tipo XSS, envenenamiento de la cach\\u00e9 y una serie de otros fallos. Este problema ha sido resuelto a\\u00f1adiendo comprobaci\\u00f3n al tipo HTTPHeaders, asegurando que no se presentan espacios en blanco incorrectos en los encabezados HTTP proporcionadas por los usuarios. Como la superficie de la API existente no es fallida, todos los caracteres no v\\u00e1lidos son sustituidos por espacios en blanco lineales\"}]", "id": "CVE-2022-3215", "lastModified": "2024-11-21T07:19:04.150", "metrics": "{\"cvssMetricV31\": [{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"cvssData\": {\"version\": \"3.1\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N\", \"baseScore\": 7.5, \"baseSeverity\": \"HIGH\", \"attackVector\": \"NETWORK\", \"attackComplexity\": \"LOW\", \"privilegesRequired\": \"NONE\", \"userInteraction\": \"NONE\", \"scope\": \"UNCHANGED\", \"confidentialityImpact\": \"NONE\", \"integrityImpact\": \"HIGH\", \"availabilityImpact\": \"NONE\"}, \"exploitabilityScore\": 3.9, \"impactScore\": 3.6}]}", "published": "2022-09-28T20:15:17.593", "references": "[{\"url\": \"https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f\", \"source\": \"cve@forums.swift.org\", \"tags\": [\"Third Party Advisory\"]}, {\"url\": \"https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f\", \"source\": \"af854a3a-2127-422b-91ae-364da2661108\", \"tags\": [\"Third Party Advisory\"]}]", "sourceIdentifier": "cve@forums.swift.org", "vulnStatus": "Modified", "weaknesses": "[{\"source\": \"cve@forums.swift.org\", \"type\": \"Secondary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-113\"}]}, {\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-74\"}]}]" }, "nvd": "{\"cve\":{\"id\":\"CVE-2022-3215\",\"sourceIdentifier\":\"cve@forums.swift.org\",\"published\":\"2022-09-28T20:15:17.593\",\"lastModified\":\"2024-11-21T07:19:04.150\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"NIOHTTP1 and projects using it for generating HTTP responses can be subject to a HTTP Response Injection attack. This occurs when a HTTP/1.1 server accepts user generated input from an incoming request and reflects it into a HTTP/1.1 response header in some form. A malicious user can add newlines to their input (usually in encoded form) and \\\"inject\\\" those newlines into the returned HTTP response. This capability allows users to work around security headers and HTTP/1.1 framing headers by injecting entirely false responses or other new headers. The injected false responses may also be treated as the response to subsequent requests, which can lead to XSS, cache poisoning, and a number of other flaws. This issue was resolved by adding validation to the HTTPHeaders type, ensuring that there\u0027s no whitespace incorrectly present in the HTTP headers provided by users. As the existing API surface is non-failable, all invalid characters are replaced by linear whitespace.\"},{\"lang\":\"es\",\"value\":\"NIOHTTP1 y los proyectos que lo usan para generar respuestas HTTP pueden ser objeto de un ataque de inyecci\u00f3n de respuesta HTTP. Esto ocurre cuando un servidor HTTP/1.1 acepta entradas generadas por el usuario desde una petici\u00f3n entrante y las refleja en un encabezado de respuesta HTTP/1.1 de alguna forma. Un usuario malicioso puede a\u00f1adir nuevas l\u00edneas a su entrada (normalmente en forma codificada) e \\\"inyectar\\\" esas nuevas l\u00edneas en la respuesta HTTP devuelta. Esta capacidad permite a usuarios eludir los encabezados de seguridad y los encabezados de enmarcado HTTP/1.1 inyectando respuestas completamente falsas u otros encabezados nuevos. Las respuestas falsas inyectadas tambi\u00e9n pueden ser tratadas como la respuesta a peticiones posteriores, lo que puede conllevar a un ataque de tipo XSS, envenenamiento de la cach\u00e9 y una serie de otros fallos. Este problema ha sido resuelto a\u00f1adiendo comprobaci\u00f3n al tipo HTTPHeaders, asegurando que no se presentan espacios en blanco incorrectos en los encabezados HTTP proporcionadas por los usuarios. Como la superficie de la API existente no es fallida, todos los caracteres no v\u00e1lidos son sustituidos por espacios en blanco lineales\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N\",\"baseScore\":7.5,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":3.9,\"impactScore\":3.6}]},\"weaknesses\":[{\"source\":\"cve@forums.swift.org\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-113\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-74\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:apple:swiftnio:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"2.29.1\",\"matchCriteriaId\":\"7DE92207-1814-4053-ABD1-36CFF3BB8BF8\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:apple:swiftnio:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"2.30.0\",\"versionEndExcluding\":\"2.39.1\",\"matchCriteriaId\":\"42384BB2-84B3-4DCB-A215-4F21D058A833\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:apple:swiftnio:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"2.40.0\",\"versionEndExcluding\":\"2.42.0\",\"matchCriteriaId\":\"F1D8C095-CF99-4ED4-96C8-DD0396D5509D\"}]}]}],\"references\":[{\"url\":\"https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f\",\"source\":\"cve@forums.swift.org\",\"tags\":[\"Third Party Advisory\"]},{\"url\":\"https://github.com/apple/swift-nio/security/advisories/GHSA-7fj7-39wj-c64f\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Third Party Advisory\"]}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.