Action not permitted
Modal body text goes here.
Modal Title
Modal Body
CERTFR-2024-AVI-0690
Vulnerability from certfr_avis
Une vulnérabilité a été découverte dans Elastic APM Server. Elle permet à un attaquant de provoquer une atteinte à la confidentialité des données.
Solutions
Se référer au bulletin de sécurité de l'éditeur pour l'obtention des correctifs (cf. section Documentation).
Impacted products
Vendor | Product | Description | ||
---|---|---|---|---|
Elastic | APM Server | APM Server versions antérieures à 7.17.21 | ||
Elastic | APM Server | APM Server versions antérieures à 8.14.0 |
References
Title | Publication Time | Tags | |||
---|---|---|---|---|---|
|
{ "$ref": "https://www.cert.ssi.gouv.fr/openapi.json", "affected_systems": [ { "description": "APM Server versions ant\u00e9rieures \u00e0 7.17.21", "product": { "name": "APM Server", "vendor": { "name": "Elastic", "scada": false } } }, { "description": "APM Server versions ant\u00e9rieures \u00e0 8.14.0", "product": { "name": "APM Server", "vendor": { "name": "Elastic", "scada": false } } } ], "affected_systems_content": "", "content": "## Solutions\n\nSe r\u00e9f\u00e9rer au bulletin de s\u00e9curit\u00e9 de l\u0027\u00e9diteur pour l\u0027obtention des correctifs (cf. section Documentation).", "cves": [ { "name": "CVE-2023-45288", "url": "https://www.cve.org/CVERecord?id=CVE-2023-45288" } ], "initial_release_date": "2024-08-16T00:00:00", "last_revision_date": "2024-08-16T00:00:00", "links": [], "reference": "CERTFR-2024-AVI-0690", "revisions": [ { "description": "Version initiale", "revision_date": "2024-08-16T00:00:00.000000" } ], "risks": [ { "description": "Atteinte \u00e0 la confidentialit\u00e9 des donn\u00e9es" } ], "summary": "Une vuln\u00e9rabilit\u00e9 a \u00e9t\u00e9 d\u00e9couverte dans Elastic APM Server. Elle permet \u00e0 un attaquant de provoquer une atteinte \u00e0 la confidentialit\u00e9 des donn\u00e9es.", "title": "Vuln\u00e9rabilit\u00e9 dans Elastic APM Server", "vendor_advisories": [ { "published_at": "2024-08-15", "title": "Bulletin de s\u00e9curit\u00e9 Elastic 364946", "url": "https://discuss.elastic.co/t/apm-server-8-14-0-security-update-esa-2024-09/364946" } ] }
CVE-2023-45288 (GCVE-0-2023-45288)
Vulnerability from cvelistv5
Published
2024-04-04 20:37
Modified
2025-02-13 17:14
Severity ?
VLAI Severity ?
EPSS score ?
Summary
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection.
References
Impacted products
Vendor | Product | Version | |||||||
---|---|---|---|---|---|---|---|---|---|
Go standard library | net/http |
Version: 0 ≤ Version: 1.22.0-0 ≤ |
|||||||
|
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-02T20:21:15.329Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "tags": [ "x_transferred" ], "url": "https://go.dev/issue/65051" }, { "tags": [ "x_transferred" ], "url": "https://go.dev/cl/576155" }, { "tags": [ "x_transferred" ], "url": "https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M" }, { "tags": [ "x_transferred" ], "url": "https://pkg.go.dev/vuln/GO-2024-2687" }, { "tags": [ "x_transferred" ], "url": "https://security.netapp.com/advisory/ntap-20240419-0009/" }, { "tags": [ "x_transferred" ], "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QRYFHIQ6XRKRYBI2F5UESH67BJBQXUPT/" }, { "tags": [ "x_transferred" ], "url": "http://www.openwall.com/lists/oss-security/2024/04/05/4" }, { "tags": [ "x_transferred" ], "url": "http://www.openwall.com/lists/oss-security/2024/04/03/16" } ], "title": "CVE Program Container" }, { "affected": [ { "cpes": [ "cpe:2.3:a:go_standard_library:net\\/http:*:*:*:*:*:*:*:*" ], "defaultStatus": "unknown", "product": "net\\/http", "vendor": "go_standard_library", "versions": [ { "lessThan": "1.21.9", "status": "affected", "version": "0", "versionType": "custom" }, { "lessThan": "1.22.2", "status": "affected", "version": "1.22.0-0", "versionType": "custom" } ] }, { "cpes": [ "cpe:2.3:a:golang:http2:*:*:*:*:*:*:*:*" ], "defaultStatus": "unknown", "product": "http2", "vendor": "golang", "versions": [ { "lessThan": "0.23.0", "status": "affected", "version": "0", "versionType": "custom" } ] } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 7.5, "baseSeverity": "HIGH", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "version": "3.1" } }, { "other": { "content": { "id": "CVE-2023-45288", "options": [ { "Exploitation": "none" }, { "Automatable": "yes" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "timestamp": "2024-04-05T17:08:42.212936Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2024-08-26T20:40:01.996Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "collectionURL": "https://pkg.go.dev", "defaultStatus": "unaffected", "packageName": "net/http", "product": "net/http", "programRoutines": [ { "name": "http2Framer.readMetaFrame" }, { "name": "CanonicalHeaderKey" }, { "name": "Client.CloseIdleConnections" }, { "name": "Client.Do" }, { "name": "Client.Get" }, { "name": "Client.Head" }, { "name": "Client.Post" }, { "name": "Client.PostForm" }, { "name": "Cookie.String" }, { "name": "Cookie.Valid" }, { "name": "Dir.Open" }, { "name": "Error" }, { "name": "Get" }, { "name": "HandlerFunc.ServeHTTP" }, { "name": "Head" }, { "name": "Header.Add" }, { "name": "Header.Del" }, { "name": "Header.Get" }, { "name": "Header.Set" }, { "name": "Header.Values" }, { "name": "Header.Write" }, { "name": "Header.WriteSubset" }, { "name": "ListenAndServe" }, { "name": "ListenAndServeTLS" }, { "name": "NewRequest" }, { "name": "NewRequestWithContext" }, { "name": "NotFound" }, { "name": "ParseTime" }, { "name": "Post" }, { "name": "PostForm" }, { "name": "ProxyFromEnvironment" }, { "name": "ReadRequest" }, { "name": "ReadResponse" }, { "name": "Redirect" }, { "name": "Request.AddCookie" }, { "name": "Request.BasicAuth" }, { "name": "Request.FormFile" }, { "name": "Request.FormValue" }, { "name": "Request.MultipartReader" }, { "name": "Request.ParseForm" }, { "name": "Request.ParseMultipartForm" }, { "name": "Request.PostFormValue" }, { "name": "Request.Referer" }, { "name": "Request.SetBasicAuth" }, { "name": "Request.UserAgent" }, { "name": "Request.Write" }, { "name": "Request.WriteProxy" }, { "name": "Response.Cookies" }, { "name": "Response.Location" }, { "name": "Response.Write" }, { "name": "ResponseController.EnableFullDuplex" }, { "name": "ResponseController.Flush" }, { "name": "ResponseController.Hijack" }, { "name": "ResponseController.SetReadDeadline" }, { "name": "ResponseController.SetWriteDeadline" }, { "name": "Serve" }, { "name": "ServeContent" }, { "name": "ServeFile" }, { "name": "ServeMux.ServeHTTP" }, { "name": "ServeTLS" }, { "name": "Server.Close" }, { "name": "Server.ListenAndServe" }, { "name": "Server.ListenAndServeTLS" }, { "name": "Server.Serve" }, { "name": "Server.ServeTLS" }, { "name": "Server.SetKeepAlivesEnabled" }, { "name": "Server.Shutdown" }, { "name": "SetCookie" }, { "name": "Transport.CancelRequest" }, { "name": "Transport.Clone" }, { "name": "Transport.CloseIdleConnections" }, { "name": "Transport.RoundTrip" }, { "name": "body.Close" }, { "name": "body.Read" }, { "name": "bodyEOFSignal.Close" }, { "name": "bodyEOFSignal.Read" }, { "name": "bodyLocked.Read" }, { "name": "bufioFlushWriter.Write" }, { "name": "cancelTimerBody.Close" }, { "name": "cancelTimerBody.Read" }, { "name": "checkConnErrorWriter.Write" }, { "name": "chunkWriter.Write" }, { "name": "connReader.Read" }, { "name": "connectMethodKey.String" }, { "name": "expectContinueReader.Close" }, { "name": "expectContinueReader.Read" }, { "name": "extraHeader.Write" }, { "name": "fileHandler.ServeHTTP" }, { "name": "fileTransport.RoundTrip" }, { "name": "globalOptionsHandler.ServeHTTP" }, { "name": "gzipReader.Close" }, { "name": "gzipReader.Read" }, { "name": "http2ClientConn.Close" }, { "name": "http2ClientConn.Ping" }, { "name": "http2ClientConn.RoundTrip" }, { "name": "http2ClientConn.Shutdown" }, { "name": "http2ConnectionError.Error" }, { "name": "http2ErrCode.String" }, { "name": "http2FrameHeader.String" }, { "name": "http2FrameType.String" }, { "name": "http2FrameWriteRequest.String" }, { "name": "http2Framer.ReadFrame" }, { "name": "http2Framer.WriteContinuation" }, { "name": "http2Framer.WriteData" }, { "name": "http2Framer.WriteDataPadded" }, { "name": "http2Framer.WriteGoAway" }, { "name": "http2Framer.WriteHeaders" }, { "name": "http2Framer.WritePing" }, { "name": "http2Framer.WritePriority" }, { "name": "http2Framer.WritePushPromise" }, { "name": "http2Framer.WriteRSTStream" }, { "name": "http2Framer.WriteRawFrame" }, { "name": "http2Framer.WriteSettings" }, { "name": "http2Framer.WriteSettingsAck" }, { "name": "http2Framer.WriteWindowUpdate" }, { "name": "http2GoAwayError.Error" }, { "name": "http2Server.ServeConn" }, { "name": "http2Setting.String" }, { "name": "http2SettingID.String" }, { "name": "http2SettingsFrame.ForeachSetting" }, { "name": "http2StreamError.Error" }, { "name": "http2Transport.CloseIdleConnections" }, { "name": "http2Transport.NewClientConn" }, { "name": "http2Transport.RoundTrip" }, { "name": "http2Transport.RoundTripOpt" }, { "name": "http2bufferedWriter.Flush" }, { "name": "http2bufferedWriter.Write" }, { "name": "http2chunkWriter.Write" }, { "name": "http2clientConnPool.GetClientConn" }, { "name": "http2connError.Error" }, { "name": "http2dataBuffer.Read" }, { "name": "http2duplicatePseudoHeaderError.Error" }, { "name": "http2gzipReader.Close" }, { "name": "http2gzipReader.Read" }, { "name": "http2headerFieldNameError.Error" }, { "name": "http2headerFieldValueError.Error" }, { "name": "http2noDialClientConnPool.GetClientConn" }, { "name": "http2noDialH2RoundTripper.RoundTrip" }, { "name": "http2pipe.Read" }, { "name": "http2priorityWriteScheduler.CloseStream" }, { "name": "http2priorityWriteScheduler.OpenStream" }, { "name": "http2pseudoHeaderError.Error" }, { "name": "http2requestBody.Close" }, { "name": "http2requestBody.Read" }, { "name": "http2responseWriter.Flush" }, { "name": "http2responseWriter.FlushError" }, { "name": "http2responseWriter.Push" }, { "name": "http2responseWriter.SetReadDeadline" }, { "name": "http2responseWriter.SetWriteDeadline" }, { "name": "http2responseWriter.Write" }, { "name": "http2responseWriter.WriteHeader" }, { "name": "http2responseWriter.WriteString" }, { "name": "http2roundRobinWriteScheduler.OpenStream" }, { "name": "http2serverConn.CloseConn" }, { "name": "http2serverConn.Flush" }, { "name": "http2stickyErrWriter.Write" }, { "name": "http2transportResponseBody.Close" }, { "name": "http2transportResponseBody.Read" }, { "name": "http2writeData.String" }, { "name": "initALPNRequest.ServeHTTP" }, { "name": "loggingConn.Close" }, { "name": "loggingConn.Read" }, { "name": "loggingConn.Write" }, { "name": "maxBytesReader.Close" }, { "name": "maxBytesReader.Read" }, { "name": "onceCloseListener.Close" }, { "name": "persistConn.Read" }, { "name": "persistConnWriter.ReadFrom" }, { "name": "persistConnWriter.Write" }, { "name": "populateResponse.Write" }, { "name": "populateResponse.WriteHeader" }, { "name": "readTrackingBody.Close" }, { "name": "readTrackingBody.Read" }, { "name": "readWriteCloserBody.Read" }, { "name": "redirectHandler.ServeHTTP" }, { "name": "response.Flush" }, { "name": "response.FlushError" }, { "name": "response.Hijack" }, { "name": "response.ReadFrom" }, { "name": "response.Write" }, { "name": "response.WriteHeader" }, { "name": "response.WriteString" }, { "name": "serverHandler.ServeHTTP" }, { "name": "socksDialer.DialWithConn" }, { "name": "socksUsernamePassword.Authenticate" }, { "name": "stringWriter.WriteString" }, { "name": "timeoutHandler.ServeHTTP" }, { "name": "timeoutWriter.Write" }, { "name": "timeoutWriter.WriteHeader" }, { "name": "transportReadFromServerError.Error" } ], "vendor": "Go standard library", "versions": [ { "lessThan": "1.21.9", "status": "affected", "version": "0", "versionType": "semver" }, { "lessThan": "1.22.2", "status": "affected", "version": "1.22.0-0", "versionType": "semver" } ] }, { "collectionURL": "https://pkg.go.dev", "defaultStatus": "unaffected", "packageName": "golang.org/x/net/http2", "product": "golang.org/x/net/http2", "programRoutines": [ { "name": "Framer.readMetaFrame" }, { "name": "ClientConn.Close" }, { "name": "ClientConn.Ping" }, { "name": "ClientConn.RoundTrip" }, { "name": "ClientConn.Shutdown" }, { "name": "ConfigureServer" }, { "name": "ConfigureTransport" }, { "name": "ConfigureTransports" }, { "name": "ConnectionError.Error" }, { "name": "ErrCode.String" }, { "name": "FrameHeader.String" }, { "name": "FrameType.String" }, { "name": "FrameWriteRequest.String" }, { "name": "Framer.ReadFrame" }, { "name": "Framer.WriteContinuation" }, { "name": "Framer.WriteData" }, { "name": "Framer.WriteDataPadded" }, { "name": "Framer.WriteGoAway" }, { "name": "Framer.WriteHeaders" }, { "name": "Framer.WritePing" }, { "name": "Framer.WritePriority" }, { "name": "Framer.WritePushPromise" }, { "name": "Framer.WriteRSTStream" }, { "name": "Framer.WriteRawFrame" }, { "name": "Framer.WriteSettings" }, { "name": "Framer.WriteSettingsAck" }, { "name": "Framer.WriteWindowUpdate" }, { "name": "GoAwayError.Error" }, { "name": "ReadFrameHeader" }, { "name": "Server.ServeConn" }, { "name": "Setting.String" }, { "name": "SettingID.String" }, { "name": "SettingsFrame.ForeachSetting" }, { "name": "StreamError.Error" }, { "name": "Transport.CloseIdleConnections" }, { "name": "Transport.NewClientConn" }, { "name": "Transport.RoundTrip" }, { "name": "Transport.RoundTripOpt" }, { "name": "bufferedWriter.Flush" }, { "name": "bufferedWriter.Write" }, { "name": "chunkWriter.Write" }, { "name": "clientConnPool.GetClientConn" }, { "name": "connError.Error" }, { "name": "dataBuffer.Read" }, { "name": "duplicatePseudoHeaderError.Error" }, { "name": "gzipReader.Close" }, { "name": "gzipReader.Read" }, { "name": "headerFieldNameError.Error" }, { "name": "headerFieldValueError.Error" }, { "name": "noDialClientConnPool.GetClientConn" }, { "name": "noDialH2RoundTripper.RoundTrip" }, { "name": "pipe.Read" }, { "name": "priorityWriteScheduler.CloseStream" }, { "name": "priorityWriteScheduler.OpenStream" }, { "name": "pseudoHeaderError.Error" }, { "name": "requestBody.Close" }, { "name": "requestBody.Read" }, { "name": "responseWriter.Flush" }, { "name": "responseWriter.FlushError" }, { "name": "responseWriter.Push" }, { "name": "responseWriter.SetReadDeadline" }, { "name": "responseWriter.SetWriteDeadline" }, { "name": "responseWriter.Write" }, { "name": "responseWriter.WriteHeader" }, { "name": "responseWriter.WriteString" }, { "name": "roundRobinWriteScheduler.OpenStream" }, { "name": "serverConn.CloseConn" }, { "name": "serverConn.Flush" }, { "name": "stickyErrWriter.Write" }, { "name": "transportResponseBody.Close" }, { "name": "transportResponseBody.Read" }, { "name": "writeData.String" } ], "vendor": "golang.org/x/net", "versions": [ { "lessThan": "0.23.0", "status": "affected", "version": "0", "versionType": "semver" } ] } ], "credits": [ { "lang": "en", "value": "Bartek Nowotarski (https://nowotarski.info/)" } ], "descriptions": [ { "lang": "en", "value": "An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request\u0027s headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection." } ], "problemTypes": [ { "descriptions": [ { "description": "CWE-400: Uncontrolled Resource Consumption", "lang": "en" } ] } ], "providerMetadata": { "dateUpdated": "2024-05-01T17:10:07.754Z", "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc", "shortName": "Go" }, "references": [ { "url": "https://go.dev/issue/65051" }, { "url": "https://go.dev/cl/576155" }, { "url": "https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M" }, { "url": "https://pkg.go.dev/vuln/GO-2024-2687" }, { "url": "https://security.netapp.com/advisory/ntap-20240419-0009/" }, { "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QRYFHIQ6XRKRYBI2F5UESH67BJBQXUPT/" }, { "url": "http://www.openwall.com/lists/oss-security/2024/04/05/4" }, { "url": "http://www.openwall.com/lists/oss-security/2024/04/03/16" } ], "title": "HTTP/2 CONTINUATION flood in net/http" } }, "cveMetadata": { "assignerOrgId": "1bb62c36-49e3-4200-9d77-64a1400537cc", "assignerShortName": "Go", "cveId": "CVE-2023-45288", "datePublished": "2024-04-04T20:37:30.714Z", "dateReserved": "2023-10-06T17:06:26.221Z", "dateUpdated": "2025-02-13T17:14:01.156Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1" }
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.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- 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.
Loading…
Loading…