Commit Graph

26 Commits

Author SHA1 Message Date
Shubham Kulkarni
74b22a5e91 go: Update fix for CVE-2023-24538 & CVE-2023-39318
Add missing files in fix for CVE-2023-24538 & CVE-2023-39318

Upstream Link -
CVE-2023-24538: b1e3ecfa06
CVE-2023-39318: 023b542edf

(From OE-Core rev: 0d8f7062d4fb5525f34427b1a7304f165bee0cfc)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-10-05 15:48:49 -10:00
Siddharth Doshi
7435f15930 go: Fix CVE-2023-39318
Upstream-Status: Backport from [023b542edf]
CVE: CVE-2023-39318
(From OE-Core rev: 35fa5c12f86bda2c8542bdb57074f55808697a42)

Signed-off-by: Siddharth Doshi <sdoshi@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-30 09:43:59 -10:00
Soumya Sambu
de7443a25d go: Fix CVE-2023-39319
The html/template package does not apply the proper rules for handling
occurrences of "<script", "<!--", and "</script" within JS literals in
<script> contexts. This may cause the template parser to improperly
consider script contexts to be terminated early, causing actions to be
improperly escaped. This could be leveraged to perform an XSS attack.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-39319

(From OE-Core rev: afdc322ecff4cfd8478c89a03f7fce748a132b48)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-09-23 05:26:15 -10:00
Soumya Sambu
f81d353d5b go: Fix CVE-2023-29409
Extremely large RSA keys in certificate chains can cause a
client/server to expend significant CPU time verifying
signatures. With fix, the size of RSA keys transmitted
during handshakes is restricted to <= 8192 bits. Based on
a survey of publicly trusted RSA keys, there are currently
only three certificates in circulation with keys larger than
this, and all three appear to be test certificates that are
not actively deployed. It is possible there are larger keys
in use in private PKIs, but we target the web PKI, so causing
breakage here in the interests of increasing the default
safety of users of crypto/tls seems reasonable.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-29409

(From OE-Core rev: 51c2fee0e4bb4b3131c61d91510394cd4b4f9eb9)

Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-30 04:46:35 -10:00
Sakib Sajal
1aae734721 go: fix CVE-2023-24531
Backport required patches from go1.21 to fix CVE-2023-24531.

(From OE-Core rev: 6d892c52bd5806507a05e8b6f749c54bbd9e9da6)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Sakib Sajal
1ba43f2c88 go: fix CVE-2023-24536
Backport required patches to fix CVE-2023-24536.

(From OE-Core rev: a774c895f4a425979cef8e05e8dd17c2dcb67654)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-07 04:40:44 -10:00
Vivek Kumbhar
4596433a54 go: fix CVE-2023-29406 net/http insufficient sanitization of Host header
(From OE-Core rev: 5dc74138649ab7a2c0158a43225dc7a8fd732355)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-08-02 04:47:12 -10:00
Vivek Kumbhar
efa581c3ab go: fix CVE-2023-29400 html/template improper handling of empty HTML attributes
(From OE-Core rev: 3224084a1ca301ff4fb4735ccc80d24aaec13257)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-12 05:11:37 -10:00
Archana Polampalli
8b56df5241 go: fix CVE-2023-29402
The go command may generate unexpected code at build time when using cgo.
This may result in unexpected behavior when running a go program which uses cgo.
This may occur when running an untrusted module which contains directories
with newline characters in their names. Modules which are retrieved using the go
command, i.e. via "go get", are not affected (modules retrieved using GOPATH-mode,
i.e. GO111MODULE=off, may be affected).

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-29402

Upstream patches:
4dae3bbe0e

(From OE-Core rev: aeb0829e52c60a77a2135af8332435b6e2db5b3d)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
92a46e5fff go: fix CVE-2023-29405
The go command may execute arbitrary code at build time when using cgo.
This may occur when running "go get" on a malicious module, or when running
any other command which builds untrusted code. This is can by triggered by
linker flags, specified via a "#cgo LDFLAGS" directive. Flags containing
embedded spaces are mishandled, allowing disallowed flags to be smuggled
through the LDFLAGS sanitization by including them in the argument of
another flag. This only affects usage of the gccgo compiler.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-29405

Upstream patches:
6d8af00a63

(From OE-Core rev: 7ce6d0029effc06cff500271a124150f1a7db7b3)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Archana Polampalli
19cce6f246 go: fix CVE-2023-29404
The go command may execute arbitrary code at build time when using cgo.
This may occur when running "go get" on a malicious module, or when running
any other command which builds untrusted code. This is can by triggered by
linker flags, specified via a "#cgo LDFLAGS" directive. The arguments for a
number of flags which are non-optional are incorrectly considered optional,
allowing disallowed flags to be smuggled through the LDFLAGS sanitization.
This affects usage of both the gc and gccgo compilers.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-29404

Upstream patches:
bbeb55f5fa

(From OE-Core rev: 3e51122f8e2b4a7cd2a1c711175e6daf59b8368b)

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-07-01 08:37:24 -10:00
Vivek Kumbhar
15f7694793 go: fix CVE-2023-24539 html/template improper sanitization of CSS values
Angle brackets should not appear in CSS contexts, as they may affect
token boundaries (such as closing a <style> tag, resulting in
injection). Instead emit filterFailsafe, matching the behavior for other
dangerous characters.

Thanks to Juho Nurminen of Mattermost for reporting this issue.

For #59720
Fixes #59811
Fixes CVE-2023-24539

(From OE-Core rev: 0a09194f3d4ad98d0cf0d070ec0c99e7a6c8a158)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-06-14 04:16:59 -10:00
Sakib Sajal
8af917d572 go: fix CVE-2023-24540
References:
https://nvd.nist.gov/vuln/detail/CVE-2023-24540

Upstream patch:
ce7bd33345 (go 1.19.9)

(From OE-Core rev: 5defed7d5dc8bc6f68f021d19c4f42832d33472b)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-30 04:11:15 -10:00
Shubham Kulkarni
7535036adb go: Security fix for CVE-2023-24538
html/template: disallow actions in JS template literals

Backport from b1e3ecfa06

(From OE-Core rev: 835462d697a5f294900843b8bcd628709c256605)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Vivek Kumbhar
f6b797d05d go: fix CVE-2023-24534 denial of service from excessive memory allocation
A parsed MIME header is a map[string][]string. In the common case,
a header contains many one-element []string slices. To avoid
allocating a separate slice for each key, ReadMIMEHeader looks
ahead in the input to predict the number of keys that will be
parsed, and allocates a single []string of that length.
The individual slices are then allocated out of the larger one.

The prediction of the number of header keys was done by counting
newlines in the input buffer, which does not take into account
header continuation lines (where a header key/value spans multiple
lines) or the end of the header block and the start of the body.
This could lead to a substantial amount of overallocation, for
example when the body consists of nothing but a large block of
newlines.

Fix header key count prediction to take into account the end of
the headers (indicated by a blank line) and continuation lines
(starting with whitespace).

Thanks to Jakob Ackermann (@das7pad) for reporting this issue.

Fixes CVE-2023-24534
For #58975
Fixes #59267

(From OE-Core rev: 28bfa033ce965d7316a8b4296d10f3ad74d711db)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-05-10 04:19:56 -10:00
Vivek Kumbhar
c34e0e1e0f go: fix CVE-2023-24537 Infinite loop in parsing
Setting a large line or column number using a //line directive can cause
integer overflow even in small source files.

Limit line and column numbers in //line directives to 2^30-1, which
is small enough to avoid int32 overflow on all reasonbly-sized files.

Fixes CVE-2023-24537
Fixes #59273
For #59180

(From OE-Core rev: 15c07dff384ce4fb0e90f4f32c182a82101a1c82)

Signed-off-by: Vivek Kumbhar <vkumbhar@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Peter Marko
7eb99a6fe9 go: ignore CVE-2022-41716
This CVE is specific to Microsoft Windows, ignore it.

Patch fixing it (https://go-review.googlesource.com/c/go/+/446916)
also adds a redundant check to generic os/exec which
could be backported but it should not be necessary as
backport always takes a small risk to break old code.

(From OE-Core rev: ae8167754ff1c02f2d92af03de804754ea77a3e5)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Shubham Kulkarni
82be2c179a go-runtime: Security fix for CVE-2022-41722
path/filepath: do not Clean("a/../c:/b") into c:\b on Windows

Backport from bdf07c2e16

(From OE-Core rev: f60637b3c9045656047d6ffcfaadbef5ad1d3d06)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-26 04:03:21 -10:00
Joe Slater
217a47bdb4 go: fix CVE-2022-41724, 41725
Backport from go-1.19.  The godebug package is needed by
the fix to CVE-2022-41725.

Mostly a cherry-pick but exceptions are noted in comments
marked "backport".

(From OE-Core rev: e5cf04f55b4849ae6db1253b39ad8b037cf01af4)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2023-04-19 04:45:00 -10:00
Shubham Kulkarni
665df01042 go-runtime: Security fix for CVE-2022-41723
Disable cmd/internal/moddeps test, since this update includes PRIVATE
track fixes.

Backport from 5c3e11bd0b

(From OE-Core rev: 7440ebac50813e5df73da2d660a50fa97de650de)

Signed-off-by: Shubham Kulkarni <skulkarni@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-11 11:31:52 +01:00
Sakib Sajal
7a9f4f7a29 go: fix CVE-2022-2879 and CVE-2022-41720
Backport appropriate patches to fix CVE-2022-2879 and CVE-2022-41720.

Modified the original fix for CVE-2022-2879 to remove a testdata tarball
and any references to it since git binary diffs are not supported in
quilt.

(From OE-Core rev: a896cebe1ce2363b501723475154350acf0e0783)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-04-11 11:31:52 +01:00
Hitendra Prajapati
db86e51343 go: fix CVE-2022-41717 Excessive memory use in got server
Upstream-Status: Backport from 618120c165

(From OE-Core rev: f4d179aab7c8f55669ac652a0668644859ec2eb7)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 23:37:05 +00:00
Hitendra Prajapati
a00404e18e golang: CVE-2022-41715 regexp/syntax: limit memory used by parsing regexps
Upstream-Status: Backport from e9017c2416

(From OE-Core rev: d5a533b86ce68b4c3cd2d3c3dd198c2897d37587)

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-23 23:05:49 +00:00
Sakib Sajal
1028aacb58 go: fix CVE-2022-2880
Backport patch to fix CVE-2022-2880.

(From OE-Core rev: a38f8316fdd0c9fc6fc7af195973028370935ba3)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-01 19:35:04 +00:00
Teoh Jay Shen
b19e6f936f go: fix CVE-2022-27664
Upstream-Status: Backport [5bc9106458]
(From OE-Core rev: fecad1b8e0f006c0186941706219d39c6c8ba5eb)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-28 08:02:10 +01:00
Sakib Sajal
55139508f2 go: update v1.17.12 -> v1.17.13
Update to latest v1.17.x release.
Contains fix for CVE-2022-32189.

go.git$ git log --oneline go1.17.12^..go1.17.13
    15da892a49 (tag: go1.17.13, origin/release-branch.go1.17) [release-branch.go1.17] go1.17.13
    703c8ab7e5 [release-branch.go1.17] math/big: check buffer lengths in GobDecode
    d9242f7a8c [release-branch.go1.17] cmd/compile: do not use special literal assignment if LHS is address-taken
    489c148578 [release-branch.go1.17] cmd/compile: fix prove pass when upper condition is <= maxint
    66c60f076c [release-branch.go1.17] runtime: clear timerModifiedEarliest when last timer is deleted
    c25b12fb81 [release-branch.go1.17] runtime: use saved LR when unwinding through morestack
    1ed3c127da (tag: go1.17.12) [release-branch.go1.17] go1.17.12

(From OE-Core rev: 5acea6ee55d36987609bfa38b579ba86ca1879d1)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-28 07:51:29 +01:00