Security Bulletins
January 10, 2024 - CVE-2023-39323 Bypass CGO Restrictions - 8.1 CVSS
Line directives //line
can be used to bypass the restrictions on //go:cgo_
directives, allowing blocked linker and
compiler flags to be passed during compilation. This can result in unexpected execution of arbitrary code when issuing
the command go build
. The line directive requires the absolute path of the file in which the directive resides, which
makes exploiting this issue significantly more complex.
Impact
No impact. This is not a runtime issue and we do not compile untrusted code.
Patches
Not Applicable
Workarounds
Not Applicable
References
January 10, 2024 - CVE-2023-45283 Filepath Package and Special Prefixes - 7.5 CVSS
The filepath package does not recognize paths with a \??\
prefix as special. On Windows, a path beginning with \??\
is a Root Local Device (RDL) path equivalent to a path beginning with \\?\
. Paths with a \??\
prefix may be used to
access arbitrary locations on the system. For example, the path \??\c:\x
is equivalent to the more common path c:\x
.
Before the fix, the Clean
function could convert a rooted path such as \a\..\??\b
into the RDL path \??\b
. Clean
will now convert this to .\??\b
. Similarly, before the fix, Join(\, ??, b)
could convert a seemingly innocent
sequence of path elements into the RDL path ??\b. Join will now convert this to \.\??\b
.
In the fix version, the function IsAbs
now correctly reports paths beginning with \??\
as absolute, and VolumeName
correctly reports the \??\
prefix as a volume name.
Go 1.20.11 and Go 1.21.4 inadvertently changed the definition of the volume name in Windows paths starting with \?
,
resulting in filepath.Clean(\?\c:)
returning \?\c:
rather than \?\c:\
among other effects. The previous expected
behavior has been restored in the new version releases.
Impact
No impact. This only impacts Windows and Palette does not use Windows operating systems for runtime operations.
Patches
Not Applicable
Workarounds
Not Applicable
References
January 10, 2024 - CVE-2023-45285 Insecure Fetching of Go Modules - 7.5 CVSS
Using the command go get
to fetch a module with the .git
suffix may unexpectedly fallback to the insecure git://
protocol if the module is unavailable via the secure https://
and git+ssh://
protocols, even if GOINSECURE
is not
set for said module. This only affects users who are not using the module proxy and are fetching modules directly and
bypassing the Go proxy with GOPROXY=off
.
Impact
No impact. This is not a runtime issue and we do not use any dependent module with .git
suffix.
Patches
Not Applicable
Workarounds
Not Applicable
References
January 10, 2024 - CVE-2023-39325 Excessive Server Resource Consumption - 7.5 CVSS
A malicious HTTP/2 client that rapidly creates requests and immediately resets them can cause excessive server resource
consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams
setting, resetting
an in-progress request allows the attacker to create a new request while the existing one is still executing.
With the fix applied, HTTP/2 servers are now bound by the number of simultaneously executing handler goroutines to the
stream concurrency limit MaxConcurrentStreams
.
If a client sends a new request when the server is already processing the maximum number of requests, the new request will be queued and wait for a handler to become available. However, if the queue of pending requests grows too large, the server will terminate the connection. This will happen only after the client has reset an existing request that is still being processed by the server.
This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency
limit is 250 streams requests per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2
package. Refer to the Server.MaxConcurrentStreams
setting and the ConfigureServer
function for more details.
Impact
All Palette and VerteX releases prior to version 4.2.0 are impacted. The impact is largely mitigated as Palette and VerteX already have IP address based rate limit.
Patches
Palette and VerteX version 4.1.0 includes the fix for all the services using the HTTP/2 protocol.
Workarounds
No workaround available. Impact is largely mitigated by the rate limits on the API requests. Refer to the API Rate Limit documentation for more information.
References
January 10, 2024 - CVE-2023-5363 Potential Truncation of Symmetric Ciphers - 7.5 CVSS
A bug has been identified in the processing of key and initialisation vector (IV) lengths. This can lead to potential truncation or overruns during the initialisation of some symmetric ciphers.
Impact
Not Applicable. Impacting symbols defined in the CVE are not used.
Patches
Not Applicable
Workarounds
Not Applicable
References
January 10, 2024 - CVE-2019-0190 Denial of service - 7.5 CVSS
A bug exists in the way mod_ssl
handled client renegotiations. A remote attacker could send a carefully crafted
request that would cause mod_ssl
to enter a loop leading to a denial of service. This bug can be only triggered with
Apache HTTP Server version 2.4.37 when using OpenSSL version 1.1.1 or later, due to an interaction in changes to
handling of renegotiation attempts.
Impact
Not Applicable. Apache HTTP server with OpenSSL 1.1.1 or later is not used.
Patches
Not Applicable
Workarounds
Not Applicable
References
January 10, 2024 - CVE-2022-4886 Nginx Path Sanitization Bypass - 8.8 CVSS
The Kubernetes ingress-nginx controller path sanitization feature can be
bypassed with the log_format
directive.
Impact
No impact on Palette SaaS, self-hosted Palette, or VerteX deployments. We do not allow end user to create or update ingress objects. Tenant clusters using the Nginx ingress controller pack with versions older than v1.8.0 may be impacted if they expose the ability for end users to create or update ingress objects.
Patches
No fix is available yet, but there is a remediation available starting with Nginx ingress controller v1.8.0. The Nginx
ingress controller pack is available with a newer version v1.9.4. The newer version has enable-annotation-validation
set to true
by default.
Workarounds
Starting with Nginx version v1.8.0, ingress administrators can set the --strict-validate-path-type
flag to true
to
validate ingress rules having pathType
as "Exact" or "Prefix". If the pathType
is ImplementationSpecific
then an
admission controller policy is required to filter out the malicious path. Check out the
OpenPolicyAgent and pathType enforcing
documentation for more information.
Tenant clusters using older Nginx ingress controller packs can upgrade to version v1.9.4 which has
strict-validate-path-type
set to true
by default.
References
January 10, 2024 - CVE-2023-5043 Ingress Nginx Annotation Injection - 8.8 CVSS
The Kubernetes ingress-nginx controller annotations can be used to inject arbitrary commands that are later executed.
Impact
No impact on Palette SaaS, self-hosted Palette and VerteX deployments. We do not allow end user to create or update ingress objects. Tenant clusters using the Nginx ingress controller pack with versions older than v1.8.0 may be impacted if they expose the ability for end users to create or update ingress objects.
Patches
No fix is available yet, but there is a remediation available starting with Nginx ingress controller v1.9.0. The Nginx
ingress controller pack is available with a newer version v1.9.4. The new version has enable-annotation-validation
set
to true
by default.
Workarounds
Starting with Nginx version v1.9.0, Ingress administrators should set the --enable-annotation-validation
flag to
enforce restrictions on the contents of ingress-nginx annotation fields. Tenant clusters using older Nginx ingress
controller pack versions can upgrade the pack to version 1.9.4 which has enable-annotation-validation
set to true
by
default.
References
January 10, 2024 - CVE-2023-5044 Ingress Nginx Annotation Injection - 8.8 CVSS
The Kubernetes ingress-nginx controller
nginx.ingress.kubernetes.io/permanent-redirect
annotation can be used to inject arbitrary commands that are later
executed.
Impact
No impact on Palette SaaS, self-hosted Palette and VerteX deployments. We do not allow end user to create or update ingress objects. Tenant clusters using nginx ingress controller pack with versions older than v1.8.0 may be impacted if they are expose the ability for end users to create or update ingress objects.
Patches
No fix is available yet, but there is a remediation available starting with Nginx ingress controller version 1.9.0. The
Nginx ingress controller pack is available with version v1.9.4. The newer version has enable-annotation-validation
set
to true
by default.
Workarounds
Starting with Nginx version 1.9.0, ingress administrators should set the --enable-annotation-validation
flag to
enforce restrictions on the contents of ingress-nginx annotation fields. Tenant clusters using older Nginx ingress
controller packs can upgrade to version v1.9.4 which has enable-annotation-validation
set to true
by default.