all: refactor report packages into a list
Combine the Report.{Module,Package,...} fields with the
Report.AdditionalPackages field into a single Report.Packages
field with a list of affected packages.
Fixes #52836.
Change-Id: I84432f242fdbdac5d8609f0406d1f12f925108be
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/405574
Run-TryBot: Damien Neil <dneil@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/cmd/vulnreport/exported_functions_test.go b/cmd/vulnreport/exported_functions_test.go
index 863dfe7..22294a4 100644
--- a/cmd/vulnreport/exported_functions_test.go
+++ b/cmd/vulnreport/exported_functions_test.go
@@ -35,9 +35,11 @@
defer e.Cleanup()
rc := newReportClient(&report.Report{
- Module: "example.com/m",
- Package: "example.com/m/p",
- Symbols: []string{"vuln"},
+ Packages: []report.Package{{
+ Module: "example.com/m",
+ Package: "example.com/m/p",
+ Symbols: []string{"vuln"},
+ }},
})
pkgs, err := loadPackage(e.Config, path.Join(e.Temp(), "m/p"))
if err != nil {
diff --git a/cmd/vulnreport/main.go b/cmd/vulnreport/main.go
index daee923..e2f31ee 100644
--- a/cmd/vulnreport/main.go
+++ b/cmd/vulnreport/main.go
@@ -166,11 +166,22 @@
// addTODOs adds "TODO" comments to unfilled fields of r.
func addTODOs(r *report.Report) {
- if r.Module == "" && !stdlib.Contains(r.Module) {
- r.Module = todo
- }
- if r.Package == "" {
- r.Package = todo
+ for _, p := range r.Packages {
+ if p.Module == "" && !stdlib.Contains(p.Module) {
+ p.Module = todo
+ }
+ if p.Package == "" {
+ p.Package = todo
+ }
+ if len(p.Versions) == 0 {
+ p.Versions = []report.VersionRange{{
+ Introduced: todo,
+ Fixed: todo,
+ }}
+ }
+ if len(p.Symbols) == 0 {
+ p.Symbols = []string{todo}
+ }
}
if r.Description == "" {
r.Description = todo
@@ -190,15 +201,6 @@
if len(r.Links.Context) == 0 {
r.Links.Context = []string{todo}
}
- if len(r.Versions) == 0 {
- r.Versions = []report.VersionRange{{
- Introduced: todo,
- Fixed: todo,
- }}
- }
- if len(r.Symbols) == 0 {
- r.Symbols = []string{todo}
- }
}
func lint(filename string) (err error) {
@@ -237,31 +239,23 @@
}
func addExportedReportSymbols(r *report.Report) (bool, error) {
- if r.Module == "" || len(r.Symbols) == 0 {
- return false, nil
- }
if len(r.OS) > 0 || len(r.Arch) > 0 {
return false, errors.New("specific GOOS/GOARCH not yet implemented")
}
rc := newReportClient(r)
added := false
- syms, err := findExportedSymbols(r.Module, r.Package, rc)
- if err != nil {
- return false, err
- }
- if len(syms) > 0 {
- added = true
- r.DerivedSymbols = syms
- }
- for i, ap := range r.AdditionalPackages {
- syms, err := findExportedSymbols(ap.Module, ap.Package, rc)
+ for i, p := range r.Packages {
+ if len(p.Symbols) == 0 {
+ continue
+ }
+ syms, err := findExportedSymbols(p.Module, p.Package, rc)
if err != nil {
return false, err
}
if len(syms) > 0 {
added = true
- // Need to start from r because r.AdditionalPackages is a slice of values.
- r.AdditionalPackages[i].DerivedSymbols = syms
+ // Need to start from r because r.Packages is a slice of values.
+ r.Packages[i].DerivedSymbols = syms
}
}
return added, nil
diff --git a/internal/database/generate.go b/internal/database/generate.go
index f4670df..715f005 100644
--- a/internal/database/generate.go
+++ b/internal/database/generate.go
@@ -155,16 +155,6 @@
// takes the ID for the vuln and a URL that will point to the entry in the vuln DB.
// It returns the osv.Entry and a list of module paths that the vuln affects.
func GenerateOSVEntry(id, url string, r report.Report) (osv.Entry, []string) {
- importPath := r.Module
- if r.Package != "" {
- importPath = r.Package
- }
- moduleMap := make(map[string]bool)
- if stdlib.Contains(r.Module) {
- moduleMap["stdlib"] = true
- } else {
- moduleMap[r.Module] = true
- }
lastModified := r.Published
if r.LastModified != nil {
lastModified = *r.LastModified
@@ -175,18 +165,20 @@
Modified: lastModified,
Withdrawn: r.Withdrawn,
Details: r.Description,
- Affected: []osv.Affected{generateAffected(importPath, r.Versions, r.OS, r.Arch, r.AllSymbols(), url)},
}
- for _, additional := range r.AdditionalPackages {
- additionalPath := additional.Module
- if additional.Package != "" {
- additionalPath = additional.Package
+ moduleMap := make(map[string]bool)
+ for _, p := range r.Packages {
+ importPath := p.Module
+ if p.Package != "" {
+ importPath = p.Package
}
- if !stdlib.Contains(r.Module) {
- moduleMap[additional.Module] = true
+ if stdlib.Contains(p.Module) {
+ moduleMap["stdlib"] = true
+ } else {
+ moduleMap[p.Module] = true
}
- entry.Affected = append(entry.Affected, generateAffected(additionalPath, additional.Versions, r.OS, r.Arch, additional.AllSymbols(), url))
+ entry.Affected = append(entry.Affected, generateAffected(importPath, p.Versions, r.OS, r.Arch, p.AllSymbols(), url))
}
if r.Links.PR != "" {
diff --git a/internal/database/generate_test.go b/internal/database/generate_test.go
index 90e0700..86d0922 100644
--- a/internal/database/generate_test.go
+++ b/internal/database/generate_test.go
@@ -17,8 +17,17 @@
func TestGenerate(t *testing.T) {
r := report.Report{
- Module: "example.com/vulnerable/v2",
- AdditionalPackages: []report.Additional{
+ Packages: []report.Package{
+ {
+ Module: "example.com/vulnerable/v2",
+ Versions: []report.VersionRange{
+ {Fixed: "v2.1.1"},
+ {Introduced: "v2.3.4", Fixed: "v2.3.5"},
+ {Introduced: "v2.5.0"},
+ },
+ Symbols: []string{"A", "B.b"},
+ DerivedSymbols: []string{"D"},
+ },
{
Module: "vanity.host/vulnerable",
Package: "vanity.host/vulnerable/package",
@@ -38,18 +47,11 @@
},
},
},
- Versions: []report.VersionRange{
- {Fixed: "v2.1.1"},
- {Introduced: "v2.3.4", Fixed: "v2.3.5"},
- {Introduced: "v2.5.0"},
- },
- Description: "It's a real bad one, I'll tell you that",
- CVEs: []string{"CVE-0000-0000"},
- Credit: "ignored",
- Symbols: []string{"A", "B.b"},
- DerivedSymbols: []string{"D"},
- OS: []string{"windows"},
- Arch: []string{"arm64"},
+ Description: "It's a real bad one, I'll tell you that",
+ CVEs: []string{"CVE-0000-0000"},
+ Credit: "ignored",
+ OS: []string{"windows"},
+ Arch: []string{"arm64"},
Links: report.Links{
PR: "pr",
Commit: "commit",
diff --git a/internal/report/cve.go b/internal/report/cve.go
index c48c846..55890db 100644
--- a/internal/report/cve.go
+++ b/internal/report/cve.go
@@ -63,34 +63,16 @@
},
},
},
-
- Affects: cveschema.Affects{
- Vendor: cveschema.Vendor{
- Data: []cveschema.VendorDataItem{
- {
- VendorName: "n/a", // ???
- Product: cveschema.Product{
- Data: []cveschema.ProductDataItem{
- {
- ProductName: r.Package,
- Version: versionToVersion(r.Versions),
- },
- },
- },
- },
- },
- },
- },
}
- for _, additional := range r.AdditionalPackages {
+ for _, p := range r.Packages {
c.Affects.Vendor.Data = append(c.Affects.Vendor.Data, cveschema.VendorDataItem{
- VendorName: "n/a",
+ VendorName: "n/a", // ???
Product: cveschema.Product{
Data: []cveschema.ProductDataItem{
{
- ProductName: additional.Package,
- Version: versionToVersion(additional.Versions),
+ ProductName: p.Package,
+ Version: versionToVersion(p.Versions),
},
},
},
@@ -164,8 +146,10 @@
}
}
r := &Report{
- Module: modulePath,
- Package: pkgPath,
+ Packages: []Package{{
+ Module: modulePath,
+ Package: pkgPath,
+ }},
Description: description,
CVEs: []string{c.Metadata.ID},
Credit: credit,
@@ -176,11 +160,11 @@
},
}
if !strings.Contains(modulePath, ".") {
- r.Module = stdlib.ModulePath
- r.Package = modulePath
+ r.Packages[0].Module = stdlib.ModulePath
+ r.Packages[0].Package = modulePath
}
- if stdlib.Contains(r.Module) && r.Package == "" {
- r.Package = modulePath
+ if stdlib.Contains(r.Packages[0].Module) && r.Packages[0].Package == "" {
+ r.Packages[0].Package = modulePath
}
r.Fix()
return r
diff --git a/internal/report/ghsa.go b/internal/report/ghsa.go
index 8825529..1658a1e 100644
--- a/internal/report/ghsa.go
+++ b/internal/report/ghsa.go
@@ -15,7 +15,6 @@
func GHSAToReport(sa *ghsa.SecurityAdvisory, modulePath string) *Report {
u := sa.UpdatedAt
r := &Report{
- Module: modulePath,
Description: sa.Description,
Published: sa.PublishedAt,
LastModified: &u,
@@ -32,16 +31,15 @@
}
r.CVEs = cves
r.GHSAs = ghsas
- if len(sa.Vulns) == 0 {
- return r
- }
- r.Package = sa.Vulns[0].Package
- r.Versions = versions(sa.Vulns[0].EarliestFixedVersion, sa.Vulns[0].VulnerableVersionRange)
- for _, v := range sa.Vulns[1:] {
- var a Additional
- a.Package = v.Package
- a.Versions = versions(v.EarliestFixedVersion, v.VulnerableVersionRange)
- r.AdditionalPackages = append(r.AdditionalPackages, a)
+ for i, v := range sa.Vulns {
+ p := Package{
+ Package: v.Package,
+ Versions: versions(v.EarliestFixedVersion, v.VulnerableVersionRange),
+ }
+ if i == 0 {
+ p.Module = modulePath
+ }
+ r.Packages = append(r.Packages, p)
}
r.Fix()
return r
diff --git a/internal/report/ghsa_test.go b/internal/report/ghsa_test.go
index d94f454..13d0f57 100644
--- a/internal/report/ghsa_test.go
+++ b/internal/report/ghsa_test.go
@@ -28,11 +28,13 @@
}
got := GHSAToReport(sa, "aModule")
want := &Report{
- Module: "aModule",
- Package: "aPackage",
- Versions: []VersionRange{
- {Fixed: "v1.2.3"},
- },
+ Packages: []Package{{
+ Module: "aModule",
+ Package: "aPackage",
+ Versions: []VersionRange{
+ {Fixed: "v1.2.3"},
+ },
+ }},
LastModified: &updatedTime,
Description: "a description",
GHSAs: []string{"G1"},
diff --git a/internal/report/lint.go b/internal/report/lint.go
index 02e1384..0e7d068 100644
--- a/internal/report/lint.go
+++ b/internal/report/lint.go
@@ -173,75 +173,58 @@
issues = append(issues, iss)
}
- var importPath string
- if !stdlib.Contains(r.Module) {
- if r.Module == "" {
- addIssue("missing module")
- }
- if r.Module != "" && r.Package == r.Module {
- addIssue("package is redundant and can be removed")
- }
- if r.Package != "" && !strings.HasPrefix(r.Package, r.Module) {
- addIssue("module must be a prefix of package")
- }
- if r.Package == "" {
- importPath = r.Module
- } else {
- importPath = r.Package
- }
- if r.Module != "" && importPath != "" {
- if err := checkModVersions(r.Module, r.Versions); err != nil {
- addIssue(err.Error())
- }
-
- if err := module.CheckImportPath(importPath); err != nil {
- addIssue(err.Error())
- }
- }
- for _, v := range r.Versions {
- if v.Introduced != "" && !strings.HasPrefix(v.Introduced, "v") {
- addIssue(fmt.Sprintf("invalid semantic version: %q", v.Introduced))
- }
- if v.Fixed != "" && !strings.HasPrefix(v.Fixed, "v") {
- addIssue(fmt.Sprintf("invalid semantic version: %q", v.Fixed))
- }
- }
- } else {
- if r.Package == "" {
- addIssue("missing package")
- }
- for _, v := range r.Versions {
- if v.Introduced != "" && !strings.HasPrefix(v.Introduced, "go") {
- addIssue(fmt.Sprintf("invalid Go version: %q", v.Introduced))
- }
- if v.Fixed != "" && !strings.HasPrefix(v.Fixed, "go") {
- addIssue(fmt.Sprintf("invalid Go version: %q", v.Fixed))
- }
- }
+ if len(r.Packages) == 0 {
+ addIssue("no packages")
}
- for _, additionalPackage := range r.AdditionalPackages {
- var additionalImportPath string
- if additionalPackage.Module == "" {
- addIssue("missing additional_package.module")
+ for i, p := range r.Packages {
+ addPkgIssue := func(iss string) {
+ issues = append(issues, fmt.Sprintf("packages[%v]: %v", i, iss))
}
- if additionalPackage.Package == additionalPackage.Module {
- addIssue("package is redundant and can be removed")
- }
- if !stdlib.Contains(additionalPackage.Module) && additionalPackage.Package != "" && !strings.HasPrefix(additionalPackage.Package, additionalPackage.Module) {
- addIssue("additional_package.module must be a prefix of additional_package.package")
- }
- if additionalPackage.Package == "" {
- additionalImportPath = additionalPackage.Module
+ if !stdlib.Contains(p.Module) {
+ if p.Module == "" {
+ addPkgIssue("missing module")
+ }
+ if p.Module != "" && p.Package == p.Module {
+ addPkgIssue("package is redundant and can be removed")
+ }
+ if p.Package != "" && !strings.HasPrefix(p.Package, p.Module) {
+ addPkgIssue("module must be a prefix of package")
+ }
+ var importPath string
+ if p.Package == "" {
+ importPath = p.Module
+ } else {
+ importPath = p.Package
+ }
+ if p.Module != "" && importPath != "" {
+ if err := checkModVersions(p.Module, p.Versions); err != nil {
+ addPkgIssue(err.Error())
+ }
+
+ if err := module.CheckImportPath(importPath); err != nil {
+ addPkgIssue(err.Error())
+ }
+ }
+ for _, v := range p.Versions {
+ if v.Introduced != "" && !strings.HasPrefix(v.Introduced, "v") {
+ addPkgIssue(fmt.Sprintf("invalid semantic version: %q", v.Introduced))
+ }
+ if v.Fixed != "" && !strings.HasPrefix(v.Fixed, "v") {
+ addPkgIssue(fmt.Sprintf("invalid semantic version: %q", v.Fixed))
+ }
+ }
} else {
- additionalImportPath = additionalPackage.Package
- }
- if err := module.CheckImportPath(additionalImportPath); err != nil {
- addIssue(err.Error())
- }
- if !stdlib.Contains(r.Module) {
- if err := checkModVersions(additionalPackage.Module, additionalPackage.Versions); err != nil {
- addIssue(err.Error())
+ if p.Package == "" {
+ addPkgIssue("missing package")
+ }
+ for _, v := range p.Versions {
+ if v.Introduced != "" && !strings.HasPrefix(v.Introduced, "go") {
+ addPkgIssue(fmt.Sprintf("invalid Go version: %q", v.Introduced))
+ }
+ if v.Fixed != "" && !strings.HasPrefix(v.Fixed, "go") {
+ addPkgIssue(fmt.Sprintf("invalid Go version: %q", v.Fixed))
+ }
}
}
}
diff --git a/internal/report/report.go b/internal/report/report.go
index 2f48343..6816b76 100644
--- a/internal/report/report.go
+++ b/internal/report/report.go
@@ -22,7 +22,7 @@
Fixed string `yaml:"fixed,omitempty"`
}
-type Additional struct {
+type Package struct {
Module string `yaml:",omitempty"`
Package string `yaml:",omitempty"`
// Symbols originally identified as vulnerable.
@@ -46,20 +46,14 @@
}
type Report struct {
- Module string `yaml:",omitempty"`
- Package string `yaml:",omitempty"`
// TODO: could also be GoToolchain, but we might want
// this for other things?
//
// could we also automate this by just looking for
// things prefixed with cmd/go?
DoNotExport bool `yaml:"do_not_export,omitempty"`
- // TODO: the most common usage of additional package should
- // really be replaced with 'aliases', we'll still need
- // additional packages for some cases, but it's too heavy
- // for most
- AdditionalPackages []Additional `yaml:"additional_packages,omitempty"`
- Versions []VersionRange `yaml:"versions,omitempty"`
+
+ Packages []Package `yaml:"packages,omitempty"`
// Description is the CVE description from an existing CVE. If we are
// assigning a CVE ID ourselves, use CVEMetadata.Description instead.
@@ -75,15 +69,10 @@
// the above CVEs.
GHSAs []string `yaml:",omitempty"`
- Credit string `yaml:",omitempty"`
- // Symbols originally identified as vulnerable.
- Symbols []string `yaml:",omitempty"`
- // Additional vulnerable symbols, computed from Symbols via static analysis
- // or other technique.
- DerivedSymbols []string `yaml:"derived_symbols,omitempty"`
- OS []string `yaml:",omitempty"`
- Arch []string `yaml:",omitempty"`
- Links Links `yaml:",omitempty"`
+ Credit string `yaml:",omitempty"`
+ OS []string `yaml:",omitempty"`
+ Arch []string `yaml:",omitempty"`
+ Links Links `yaml:",omitempty"`
// CVEMetdata is used to capture CVE information when we want to assign a
// CVE ourselves. If a CVE already exists for an issue, use the CVE field
@@ -92,12 +81,7 @@
}
// AllSymbols returns both original and derived symbols.
-func (r *Report) AllSymbols() []string {
- return append(append([]string(nil), r.Symbols...), r.DerivedSymbols...)
-}
-
-// AllSymbols returns both original and derived symbols.
-func (a *Additional) AllSymbols() []string {
+func (a *Package) AllSymbols() []string {
return append(append([]string(nil), a.Symbols...), a.DerivedSymbols...)
}
diff --git a/internal/report/testdata/report.yaml b/internal/report/testdata/report.yaml
index 7c53d62..977bc36 100644
--- a/internal/report/testdata/report.yaml
+++ b/internal/report/testdata/report.yaml
@@ -1,13 +1,14 @@
-module: github.com/gin-gonic/gin
-versions:
- - fixed: v1.6.0
+packages:
+ - module: github.com/gin-gonic/gin
+ symbols:
+ - defaultLogFormatter
+ versions:
+ - fixed: v1.6.0
description: |
The default Formatter for the Logger middleware (LoggerConfig.Formatter),
which is included in the Default engine, allows attackers to inject arbitrary
log entries by manipulating the request path.
credit: '@thinkerou <thinkerou@gmail.com>'
-symbols:
- - defaultLogFormatter
links:
pr: https://github.com/gin-gonic/gin/pull/2237
commit: https://github.com/gin-gonic/gin/commit/a71af9c144f9579f6dbe945341c1df37aaf09c0d
diff --git a/internal/worker/worker_test.go b/internal/worker/worker_test.go
index a036f9d..51671d6 100644
--- a/internal/worker/worker_test.go
+++ b/internal/worker/worker_test.go
@@ -232,7 +232,8 @@
See [doc/triage.md](https://github.com/golang/vulndb/blob/master/doc/triage.md) for instructions on how to triage this report.
` + "```" + `
-module: a.Module
+packages:
+ - module: a.Module
description: |
a description
cves:
@@ -271,9 +272,10 @@
See [doc/triage.md](https://github.com/golang/vulndb/blob/master/doc/triage.md) for instructions on how to triage this report.
` + "```" + `
-package: aPackage
-versions:
- - fixed: v1.2.3
+packages:
+ - package: aPackage
+ versions:
+ - fixed: v1.2.3
description: a description
ghsas:
- G1
diff --git a/reports/GO-2020-0001.yaml b/reports/GO-2020-0001.yaml
index 89be8e3..c69d861 100644
--- a/reports/GO-2020-0001.yaml
+++ b/reports/GO-2020-0001.yaml
@@ -1,14 +1,15 @@
-module: github.com/gin-gonic/gin
-versions:
- - fixed: v1.6.0
+packages:
+ - module: github.com/gin-gonic/gin
+ symbols:
+ - defaultLogFormatter
+ versions:
+ - fixed: v1.6.0
description: |
The default Formatter for the Logger middleware (LoggerConfig.Formatter),
which is included in the Default engine, allows attackers to inject arbitrary
log entries by manipulating the request path.
published: 2021-04-14T20:04:52Z
credit: '@thinkerou <thinkerou@gmail.com>'
-symbols:
- - defaultLogFormatter
links:
pr: https://github.com/gin-gonic/gin/pull/2237
commit: https://github.com/gin-gonic/gin/commit/a71af9c144f9579f6dbe945341c1df37aaf09c0d
diff --git a/reports/GO-2020-0002.yaml b/reports/GO-2020-0002.yaml
index 095e645..670eccc 100644
--- a/reports/GO-2020-0002.yaml
+++ b/reports/GO-2020-0002.yaml
@@ -1,6 +1,7 @@
-module: github.com/proglottis/gpgme
-versions:
- - fixed: v0.1.1
+packages:
+ - module: github.com/proglottis/gpgme
+ versions:
+ - fixed: v0.1.1
description: |
The Data, Context, or Key finalizers might run during or before GPGME
operations. This will release the C structures that are still in use, leading
diff --git a/reports/GO-2020-0003.yaml b/reports/GO-2020-0003.yaml
index 44cadff..d673b4a 100644
--- a/reports/GO-2020-0003.yaml
+++ b/reports/GO-2020-0003.yaml
@@ -1,6 +1,7 @@
-module: github.com/revel/revel
-versions:
- - fixed: v1.0.0
+packages:
+ - module: github.com/revel/revel
+ versions:
+ - fixed: v1.0.0
description: |
An attacker can cause an application that accepts slice parameters
(https://revel.github.io/manual/parameters.html#slices) to allocate large
diff --git a/reports/GO-2020-0004.yaml b/reports/GO-2020-0004.yaml
index 56b83a9..687f06b 100644
--- a/reports/GO-2020-0004.yaml
+++ b/reports/GO-2020-0004.yaml
@@ -1,7 +1,15 @@
-module: github.com/nanobox-io/golang-nanoauth
-versions:
- - introduced: v0.0.0-20160722212129-ac0cc4484ad4
- fixed: v0.0.0-20200131131040-063a3fb69896
+packages:
+ - module: github.com/nanobox-io/golang-nanoauth
+ symbols:
+ - Auth.ServerHTTP
+ - Auth.ListenAndServeTLS
+ - Auth.ListenAndServe
+ derived_symbols:
+ - ListenAndServe
+ - ListenAndServeTLS
+ versions:
+ - introduced: v0.0.0-20160722212129-ac0cc4484ad4
+ fixed: v0.0.0-20200131131040-063a3fb69896
description: |
If any of the ListenAndServe functions are called with an empty token,
token authentication is disabled globally for all listeners.
@@ -11,13 +19,6 @@
recover the token.
published: 2021-04-14T20:04:52Z
credit: '@bouk'
-symbols:
- - Auth.ServerHTTP
- - Auth.ListenAndServeTLS
- - Auth.ListenAndServe
-derived_symbols:
- - ListenAndServe
- - ListenAndServeTLS
links:
pr: https://github.com/nanobox-io/golang-nanoauth/pull/5
commit: https://github.com/nanobox-io/golang-nanoauth/commit/063a3fb69896acf985759f0fe3851f15973993f3
diff --git a/reports/GO-2020-0005.yaml b/reports/GO-2020-0005.yaml
index c4384d0..8899eca 100644
--- a/reports/GO-2020-0005.yaml
+++ b/reports/GO-2020-0005.yaml
@@ -1,7 +1,11 @@
-module: go.etcd.io/etcd
-package: go.etcd.io/etcd/wal
-versions:
- - fixed: v0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
+packages:
+ - module: go.etcd.io/etcd
+ package: go.etcd.io/etcd/wal
+ symbols:
+ - WAL.ReadAll
+ - decoder.decodeRecord
+ versions:
+ - fixed: v0.5.0-alpha.5.0.20200423152442-f4b650b51dc4
description: |
Malformed WALs can be constructed such that WAL.ReadAll can cause attempted
out of bounds reads, or creation of arbitrarily sized slices, which may be used as
@@ -11,9 +15,6 @@
- CVE-2020-15106
- CVE-2020-15112
credit: Trail of Bits
-symbols:
- - WAL.ReadAll
- - decoder.decodeRecord
links:
pr: https://github.com/etcd-io/etcd/pull/11793
commit: https://github.com/etcd-io/etcd/commit/f4b650b51dc4a53a8700700dc12e1242ac56ba07
diff --git a/reports/GO-2020-0006.yaml b/reports/GO-2020-0006.yaml
index 5de9bb4..30702b0 100644
--- a/reports/GO-2020-0006.yaml
+++ b/reports/GO-2020-0006.yaml
@@ -1,6 +1,15 @@
-module: github.com/miekg/dns
-versions:
- - fixed: v1.0.4-0.20180125103619-43913f2f4fbd
+packages:
+ - module: github.com/miekg/dns
+ symbols:
+ - Server.serveTCP
+ derived_symbols:
+ - ActivateAndServe
+ - ListenAndServe
+ - ListenAndServeTLS
+ - Server.ActivateAndServe
+ - Server.ListenAndServe
+ versions:
+ - fixed: v1.0.4-0.20180125103619-43913f2f4fbd
description: |
An attacker may prevent TCP connections to a Server by opening
a connection and leaving it idle, until the connection is closed by
@@ -11,14 +20,6 @@
ghsas:
- GHSA-p55x-7x9v-q8m4
credit: Pedro Sampaio
-symbols:
- - Server.serveTCP
-derived_symbols:
- - ActivateAndServe
- - ListenAndServe
- - ListenAndServeTLS
- - Server.ActivateAndServe
- - Server.ListenAndServe
links:
pr: https://github.com/miekg/dns/pull/631
commit: https://github.com/miekg/dns/commit/43913f2f4fbd7dcff930b8a809e709591e4dd79e
diff --git a/reports/GO-2020-0007.yaml b/reports/GO-2020-0007.yaml
index 8fff122..ff72395 100644
--- a/reports/GO-2020-0007.yaml
+++ b/reports/GO-2020-0007.yaml
@@ -1,6 +1,14 @@
-module: github.com/seccomp/libseccomp-golang
-versions:
- - fixed: v0.9.1-0.20170424173420-06e7a29f36a3
+packages:
+ - module: github.com/seccomp/libseccomp-golang
+ symbols:
+ - ScmpFilter.addRuleGeneric
+ derived_symbols:
+ - ScmpFilter.AddRule
+ - ScmpFilter.AddRuleConditional
+ - ScmpFilter.AddRuleConditionalExact
+ - ScmpFilter.AddRuleExact
+ versions:
+ - fixed: v0.9.1-0.20170424173420-06e7a29f36a3
description: |
Filters containing rules with multiple syscall arguments are improperly
constructed, such that all arguments are required to match rather than
@@ -13,12 +21,5 @@
ghsas:
- GHSA-58v3-j75h-xr49
credit: '@ihac'
-symbols:
- - ScmpFilter.addRuleGeneric
-derived_symbols:
- - ScmpFilter.AddRule
- - ScmpFilter.AddRuleConditional
- - ScmpFilter.AddRuleConditionalExact
- - ScmpFilter.AddRuleExact
links:
commit: https://github.com/seccomp/libseccomp-golang/commit/06e7a29f36a34b8cf419aeb87b979ee508e58f9e
diff --git a/reports/GO-2020-0008.yaml b/reports/GO-2020-0008.yaml
index 62f8480..03107c0 100644
--- a/reports/GO-2020-0008.yaml
+++ b/reports/GO-2020-0008.yaml
@@ -1,6 +1,15 @@
-module: github.com/miekg/dns
-versions:
- - fixed: v1.1.25-0.20191211073109-8ebf2e419df7
+packages:
+ - module: github.com/miekg/dns
+ symbols:
+ - id
+ derived_symbols:
+ - Msg.SetAxfr
+ - Msg.SetIxfr
+ - Msg.SetNotify
+ - Msg.SetQuestion
+ - Msg.SetUpdate
+ versions:
+ - fixed: v1.1.25-0.20191211073109-8ebf2e419df7
description: |
DNS message transaction IDs are generated using math/rand which
makes them relatively predictable. This reduces the complexity
@@ -10,14 +19,6 @@
- CVE-2019-19794
ghsas:
- GHSA-44r7-7p62-q3fr
-symbols:
- - id
-derived_symbols:
- - Msg.SetAxfr
- - Msg.SetIxfr
- - Msg.SetNotify
- - Msg.SetQuestion
- - Msg.SetUpdate
links:
pr: https://github.com/miekg/dns/pull/1044
commit: https://github.com/miekg/dns/commit/8ebf2e419df7857ac8919baa05248789a8ffbf33
diff --git a/reports/GO-2020-0009.yaml b/reports/GO-2020-0009.yaml
index aa62830..d2f4cab 100644
--- a/reports/GO-2020-0009.yaml
+++ b/reports/GO-2020-0009.yaml
@@ -1,12 +1,14 @@
-module: github.com/square/go-jose
-package: github.com/square/go-jose/cipher
-additional_packages:
+packages:
+ - module: github.com/square/go-jose
+ package: github.com/square/go-jose/cipher
+ symbols:
+ - cbcAEAD.computeAuthTag
+ versions:
+ - fixed: v0.0.0-20160903044734-789a4c4bd4c1
- module: github.com/square/go-jose
symbols:
- JsonWebEncryption.Decrypt
- JsonWebEncryption.DecryptMulti
-versions:
- - fixed: v0.0.0-20160903044734-789a4c4bd4c1
description: |
On 32-bit platforms an attacker can manipulate a ciphertext encrypted with AES-CBC
with HMAC such that they can control how large the input buffer is when computing
@@ -18,8 +20,6 @@
ghsas:
- GHSA-3fx4-7f69-5mmg
credit: Quan Nguyen from Google's Information Security Engineering Team
-symbols:
- - cbcAEAD.computeAuthTag
arch:
- "386"
- arm
diff --git a/reports/GO-2020-0010.yaml b/reports/GO-2020-0010.yaml
index a9f5b67..b00ab4f 100644
--- a/reports/GO-2020-0010.yaml
+++ b/reports/GO-2020-0010.yaml
@@ -1,11 +1,15 @@
-module: github.com/square/go-jose
-package: github.com/square/go-jose/cipher
-additional_packages:
+packages:
+ - module: github.com/square/go-jose
+ package: github.com/square/go-jose/cipher
+ symbols:
+ - DeriveECDHES
+ - ecDecrypterSigner.decryptKey
+ - rawJsonWebKey.ecPublicKey
+ versions:
+ - fixed: v0.0.0-20160831185616-c7581939a365
- module: github.com/square/go-jose
symbols:
- JsonWebEncryption.Decrypt
-versions:
- - fixed: v0.0.0-20160831185616-c7581939a365
description: |
When using ECDH-ES an attacker can mount an invalid curve attack during
decryption as the supplied public key is not checked to be on the same
@@ -16,10 +20,6 @@
ghsas:
- GHSA-86r9-39j9-99wp
credit: Quan Nguyen from Google's Information Security Engineering Team
-symbols:
- - DeriveECDHES
- - ecDecrypterSigner.decryptKey
- - rawJsonWebKey.ecPublicKey
links:
commit: https://github.com/square/go-jose/commit/c7581939a3656bb65e89d64da0a52364a33d2507
context:
diff --git a/reports/GO-2020-0011.yaml b/reports/GO-2020-0011.yaml
index c82ccf7..00bfbcf 100644
--- a/reports/GO-2020-0011.yaml
+++ b/reports/GO-2020-0011.yaml
@@ -1,6 +1,10 @@
-module: github.com/square/go-jose
-versions:
- - fixed: v0.0.0-20160922232413-2c5656adca99
+packages:
+ - module: github.com/square/go-jose
+ symbols:
+ - JsonWebEncryption.Decrypt
+ - JsonWebSignature.Verify
+ versions:
+ - fixed: v0.0.0-20160922232413-2c5656adca99
description: |
When decrypting JsonWebEncryption objects with multiple recipients
or JsonWebSignature objects with multiple signatures the Decrypt
@@ -13,9 +17,6 @@
ghsas:
- GHSA-77gc-fj98-665h
credit: Quan Nguyen from Google's Information Security Engineering Team
-symbols:
- - JsonWebEncryption.Decrypt
- - JsonWebSignature.Verify
links:
commit: https://github.com/square/go-jose/commit/2c5656adca9909843c4ff50acf1d2cf8f32da7e6
context:
diff --git a/reports/GO-2020-0012.yaml b/reports/GO-2020-0012.yaml
index 9bd2b4e..5810e6c 100644
--- a/reports/GO-2020-0012.yaml
+++ b/reports/GO-2020-0012.yaml
@@ -1,7 +1,14 @@
-module: golang.org/x/crypto
-package: golang.org/x/crypto/ssh
-versions:
- - fixed: v0.0.0-20200220183623-bac4c82f6975
+packages:
+ - module: golang.org/x/crypto
+ package: golang.org/x/crypto/ssh
+ symbols:
+ - parseED25519
+ - ed25519PublicKey.Verify
+ - parseSKEd25519
+ - skEd25519PublicKey.Verify
+ - NewPublicKey
+ versions:
+ - fixed: v0.0.0-20200220183623-bac4c82f6975
description: |
An attacker can craft an ssh-ed25519 or sk-ssh-ed25519@openssh.com public
key, such that the library will panic when trying to verify a signature
@@ -13,12 +20,6 @@
ghsas:
- GHSA-ffhg-7mh4-33c4
credit: Alex Gaynor, Fish in a Barrel
-symbols:
- - parseED25519
- - ed25519PublicKey.Verify
- - parseSKEd25519
- - skEd25519PublicKey.Verify
- - NewPublicKey
links:
pr: https://go-review.googlesource.com/c/crypto/+/220357
commit: https://go.googlesource.com/crypto/+/bac4c82f69751a6dd76e702d54b3ceb88adab236
diff --git a/reports/GO-2020-0013.yaml b/reports/GO-2020-0013.yaml
index 1b5ba6f..ae9a823 100644
--- a/reports/GO-2020-0013.yaml
+++ b/reports/GO-2020-0013.yaml
@@ -1,7 +1,10 @@
-module: golang.org/x/crypto
-package: golang.org/x/crypto/ssh
-versions:
- - fixed: v0.0.0-20170330155735-e4e2799dd7aa
+packages:
+ - module: golang.org/x/crypto
+ package: golang.org/x/crypto/ssh
+ symbols:
+ - NewClientConn
+ versions:
+ - fixed: v0.0.0-20170330155735-e4e2799dd7aa
description: |
By default host key verification is disabled which allows for
man-in-the-middle attacks against SSH clients if
@@ -10,8 +13,6 @@
cves:
- CVE-2017-3204
credit: Phil Pennock
-symbols:
- - NewClientConn
links:
pr: https://go-review.googlesource.com/38701
commit: https://go.googlesource.com/crypto/+/e4e2799dd7aab89f583e1d898300d96367750991
diff --git a/reports/GO-2020-0014.yaml b/reports/GO-2020-0014.yaml
index ee3741e..eb13d8a 100644
--- a/reports/GO-2020-0014.yaml
+++ b/reports/GO-2020-0014.yaml
@@ -1,7 +1,11 @@
-module: golang.org/x/net
-package: golang.org/x/net/html
-versions:
- - fixed: v0.0.0-20190125091013-d26f9f9a57f3
+packages:
+ - module: golang.org/x/net
+ package: golang.org/x/net/html
+ symbols:
+ - inSelectIM
+ - inSelectInTableIM
+ versions:
+ - fixed: v0.0.0-20190125091013-d26f9f9a57f3
description: |
html.Parse does not properly handle "select" tags, which can lead
to an infinite loop. If parsing user supplied input, this may be used
@@ -10,9 +14,6 @@
cves:
- CVE-2018-17846
credit: '@tr3ee'
-symbols:
- - inSelectIM
- - inSelectInTableIM
links:
pr: https://go-review.googlesource.com/c/137275
commit: https://go.googlesource.com/net/+/d26f9f9a57f3fab6a695bec0d84433c2c50f8bbf
diff --git a/reports/GO-2020-0015.yaml b/reports/GO-2020-0015.yaml
index a43465d..d7e33b4 100644
--- a/reports/GO-2020-0015.yaml
+++ b/reports/GO-2020-0015.yaml
@@ -1,14 +1,18 @@
-module: golang.org/x/text
-package: golang.org/x/text/encoding/unicode
-additional_packages:
+packages:
+ - module: golang.org/x/text
+ package: golang.org/x/text/encoding/unicode
+ symbols:
+ - utf16Decoder.Transform
+ derived_symbols:
+ - bomOverride.Transform
+ versions:
+ - fixed: v0.3.3
- module: golang.org/x/text
package: golang.org/x/text/transform
symbols:
- Transform
versions:
- fixed: v0.3.3
-versions:
- - fixed: v0.3.3
description: |
An attacker could provide a single byte to a UTF16 decoder instantiated with
UseBOM or ExpectBOM to trigger an infinite loop if the String function on
@@ -22,10 +26,6 @@
ghsas:
- GHSA-5rcv-m4m3-hfh7
credit: '@abacabadabacaba and Anton Gyllenberg'
-symbols:
- - utf16Decoder.Transform
-derived_symbols:
- - bomOverride.Transform
links:
pr: https://go-review.googlesource.com/c/text/+/238238
commit: https://go.googlesource.com/text/+/23ae387dee1f90d29a23c0e87ee0b46038fbed0e
diff --git a/reports/GO-2020-0016.yaml b/reports/GO-2020-0016.yaml
index fdaa45e..7bac4d3 100644
--- a/reports/GO-2020-0016.yaml
+++ b/reports/GO-2020-0016.yaml
@@ -1,6 +1,13 @@
-module: github.com/ulikunitz/xz
-versions:
- - fixed: v0.5.8
+packages:
+ - module: github.com/ulikunitz/xz
+ symbols:
+ - readUvarint
+ derived_symbols:
+ - Reader.Read
+ - blockHeader.UnmarshalBinary
+ - streamReader.Read
+ versions:
+ - fixed: v0.5.8
description: |
An attacker can construct a series of bytes such that calling
Reader.Read on the bytes could cause an infinite loop. If
@@ -12,12 +19,6 @@
ghsas:
- GHSA-25xm-hr59-7c27
credit: '@0xdecaf'
-symbols:
- - readUvarint
-derived_symbols:
- - Reader.Read
- - blockHeader.UnmarshalBinary
- - streamReader.Read
links:
commit: https://github.com/ulikunitz/xz/commit/69c6093c7b2397b923acf82cb378f55ab2652b9b
context:
diff --git a/reports/GO-2020-0017.yaml b/reports/GO-2020-0017.yaml
index d225941..36d94d9 100644
--- a/reports/GO-2020-0017.yaml
+++ b/reports/GO-2020-0017.yaml
@@ -1,12 +1,14 @@
-module: github.com/dgrijalva/jwt-go
-additional_packages:
+packages:
+ - module: github.com/dgrijalva/jwt-go
+ symbols:
+ - MapClaims.VerifyAudience
+ versions:
+ - introduced: v0.0.0-20150717181359-44718f8a89b0
- module: github.com/dgrijalva/jwt-go/v4
symbols:
- MapClaims.VerifyAudience
versions:
- fixed: v4.0.0-preview1
-versions:
- - introduced: v0.0.0-20150717181359-44718f8a89b0
description: |
If a JWT contains an audience claim with an array of strings, rather
than a single string, and MapClaims.VerifyAudience is called with
@@ -18,8 +20,6 @@
ghsas:
- GHSA-w73w-5m7g-f7qc
credit: '@christopher-wong'
-symbols:
- - MapClaims.VerifyAudience
links:
commit: https://github.com/dgrijalva/jwt-go/commit/ec0a89a131e3e8567adcb21254a5cd20a70ea4ab
context:
diff --git a/reports/GO-2020-0018.yaml b/reports/GO-2020-0018.yaml
index 59c74b0..e811da9 100644
--- a/reports/GO-2020-0018.yaml
+++ b/reports/GO-2020-0018.yaml
@@ -1,6 +1,16 @@
-module: github.com/satori/go.uuid
-versions:
- - fixed: v1.2.1-0.20181016170032-d91630c85102
+packages:
+ - module: github.com/satori/go.uuid
+ symbols:
+ - NewV4
+ - rfc4122Generator.getClockSequence
+ - rfc4122Generator.getHardwareAddr
+ derived_symbols:
+ - NewV1
+ - NewV2
+ - init
+ - safeRandom
+ versions:
+ - fixed: v1.2.1-0.20181016170032-d91630c85102
description: |
UUIDs generated using NewV1 and NewV4 may not read the expected
number of random bytes. These UUIDs may contain a significantly smaller
@@ -9,15 +19,6 @@
cves:
- CVE-2021-3538
credit: '@josselin-c'
-symbols:
- - NewV4
- - rfc4122Generator.getClockSequence
- - rfc4122Generator.getHardwareAddr
-derived_symbols:
- - NewV1
- - NewV2
- - init
- - safeRandom
links:
pr: https://github.com/satori/go.uuid/pull/75
commit: https://github.com/satori/go.uuid/commit/d91630c8510268e75203009fe7daf2b8e1d60c45
diff --git a/reports/GO-2020-0019.yaml b/reports/GO-2020-0019.yaml
index e6c0f2f..59a4d82 100644
--- a/reports/GO-2020-0019.yaml
+++ b/reports/GO-2020-0019.yaml
@@ -1,6 +1,31 @@
-module: github.com/gorilla/websocket
-versions:
- - fixed: v1.4.1
+packages:
+ - module: github.com/gorilla/websocket
+ symbols:
+ - Conn.advanceFrame
+ - messageReader.Read
+ derived_symbols:
+ - Conn.Close
+ - Conn.NextReader
+ - Conn.ReadJSON
+ - Conn.ReadMessage
+ - Conn.WriteJSON
+ - Conn.WritePreparedMessage
+ - Dialer.Dial
+ - Dialer.DialContext
+ - NewClient
+ - NewPreparedMessage
+ - ReadJSON
+ - Subprotocols
+ - Upgrade
+ - Upgrader.Upgrade
+ - WriteJSON
+ - httpProxyDialer.Dial
+ - netDialerFunc.Dial
+ - proxy_direct.Dial
+ - proxy_envOnce.Get
+ - proxy_socks5.Dial
+ versions:
+ - fixed: v1.4.1
description: |
An attacker can craft malicious WebSocket frames that cause an integer
overflow in a variable which tracks the number of bytes remaining. This
@@ -12,30 +37,6 @@
ghsas:
- GHSA-3xh2-74w9-5vxm
credit: Max Justicz
-symbols:
- - Conn.advanceFrame
- - messageReader.Read
-derived_symbols:
- - Conn.Close
- - Conn.NextReader
- - Conn.ReadJSON
- - Conn.ReadMessage
- - Conn.WriteJSON
- - Conn.WritePreparedMessage
- - Dialer.Dial
- - Dialer.DialContext
- - NewClient
- - NewPreparedMessage
- - ReadJSON
- - Subprotocols
- - Upgrade
- - Upgrader.Upgrade
- - WriteJSON
- - httpProxyDialer.Dial
- - netDialerFunc.Dial
- - proxy_direct.Dial
- - proxy_envOnce.Get
- - proxy_socks5.Dial
links:
pr: https://github.com/gorilla/websocket/pull/537
commit: https://github.com/gorilla/websocket/commit/5b740c29263eb386f33f265561c8262522f19d37
diff --git a/reports/GO-2020-0020.yaml b/reports/GO-2020-0020.yaml
index b581751..3421f92 100644
--- a/reports/GO-2020-0020.yaml
+++ b/reports/GO-2020-0020.yaml
@@ -1,14 +1,15 @@
-module: github.com/gorilla/handlers
-versions:
- - fixed: v1.3.0
+packages:
+ - module: github.com/gorilla/handlers
+ symbols:
+ - cors.ServeHTTP
+ versions:
+ - fixed: v1.3.0
description: |
Usage of the CORS handler may apply improper CORS headers, allowing
the requester to explicitly control the value of the Access-Control-Allow-Origin
header, which bypasses the expected behavior of the Same Origin Policy.
published: 2021-04-14T20:04:52Z
credit: Evan J Johnson
-symbols:
- - cors.ServeHTTP
links:
pr: https://github.com/gorilla/handlers/pull/116
commit: https://github.com/gorilla/handlers/commit/90663712d74cb411cbef281bc1e08c19d1a76145
diff --git a/reports/GO-2020-0021.yaml b/reports/GO-2020-0021.yaml
index 0cee665..f62017e 100644
--- a/reports/GO-2020-0021.yaml
+++ b/reports/GO-2020-0021.yaml
@@ -1,6 +1,11 @@
-module: github.com/gogits/gogs
-versions:
- - fixed: v0.5.8
+packages:
+ - module: github.com/gogits/gogs
+ symbols:
+ - GetIssues
+ - SearchRepositoryByName
+ - SearchUserByName
+ versions:
+ - fixed: v0.5.8
description: |
Due to improper santization of user input, a number of methods are
vulnerable to SQL injection if used with user input that has not
@@ -11,10 +16,6 @@
ghsas:
- GHSA-mr6h-chqp-p9g2
credit: Pascal Turbing and Jiahua (Joe) Chen
-symbols:
- - GetIssues
- - SearchRepositoryByName
- - SearchUserByName
links:
commit: https://github.com/gogs/gogs/commit/83283bca4cb4e0f4ec48a28af680f0d88db3d2c8
context:
diff --git a/reports/GO-2020-0022.yaml b/reports/GO-2020-0022.yaml
index c7cdf7d..6661c8d 100644
--- a/reports/GO-2020-0022.yaml
+++ b/reports/GO-2020-0022.yaml
@@ -1,14 +1,15 @@
-module: github.com/cloudflare/golz4
-versions:
- - fixed: v0.0.0-20140711154735-199f5f787806
+packages:
+ - module: github.com/cloudflare/golz4
+ symbols:
+ - Uncompress
+ versions:
+ - fixed: v0.0.0-20140711154735-199f5f787806
description: |
LZ4 bindings use a deprecated C API that is vulnerable to
memory corruption, which could lead to arbitrary code execution
if called with untrusted user input.
published: 2021-04-14T20:04:52Z
credit: Yann Collet
-symbols:
- - Uncompress
links:
commit: https://github.com/cloudflare/golz4/commit/199f5f7878062ca17a98e079f2dbe1205e2ed898
context:
diff --git a/reports/GO-2020-0023.yaml b/reports/GO-2020-0023.yaml
index 5fff7ab..d514889 100644
--- a/reports/GO-2020-0023.yaml
+++ b/reports/GO-2020-0023.yaml
@@ -1,14 +1,15 @@
-module: github.com/robbert229/jwt
-versions:
- - fixed: v0.0.0-20170426191122-ca1404ee6e83
+packages:
+ - module: github.com/robbert229/jwt
+ symbols:
+ - Algorithm.validateSignature
+ versions:
+ - fixed: v0.0.0-20170426191122-ca1404ee6e83
description: |
Token validation methods are susceptible to a timing side-channel
during HMAC comparison. With a large enough number of requests
over a low latency connection, an attacker may use this to determine
the expected HMAC.
published: 2021-04-14T20:04:52Z
-symbols:
- - Algorithm.validateSignature
links:
commit: https://github.com/robbert229/jwt/commit/ca1404ee6e83fcbafb66b09ed0d543850a15b654
context:
diff --git a/reports/GO-2020-0024.yaml b/reports/GO-2020-0024.yaml
index dfd868d..5e0fa44 100644
--- a/reports/GO-2020-0024.yaml
+++ b/reports/GO-2020-0024.yaml
@@ -1,6 +1,11 @@
-module: github.com/btcsuite/go-socks
-package: github.com/btcsuite/go-socks/socks
-additional_packages:
+packages:
+ - module: github.com/btcsuite/go-socks
+ package: github.com/btcsuite/go-socks/socks
+ symbols:
+ - proxiedConn.LocalAddr
+ - proxiedConn.RemoteAddr
+ versions:
+ - fixed: v0.0.0-20130808000456-233bccbb1abe
- module: github.com/btcsuitereleases/go-socks
package: github.com/btcsuitereleases/go-socks/socks
symbols:
@@ -8,15 +13,10 @@
- proxiedConn.RemoteAddr
versions:
- fixed: v0.0.0-20130808000456-233bccbb1abe
-versions:
- - fixed: v0.0.0-20130808000456-233bccbb1abe
description: |
The RemoteAddr and LocalAddr methods on the returned net.Conn may
call themselves, leading to an infinite loop which will crash the
program due to a stack overflow.
published: 2021-04-14T20:04:52Z
-symbols:
- - proxiedConn.LocalAddr
- - proxiedConn.RemoteAddr
links:
commit: https://github.com/btcsuite/go-socks/commit/233bccbb1abe02f05750f7ace66f5bffdb13defc
diff --git a/reports/GO-2020-0025.yaml b/reports/GO-2020-0025.yaml
index cdb3a70..6545ea1 100644
--- a/reports/GO-2020-0025.yaml
+++ b/reports/GO-2020-0025.yaml
@@ -1,21 +1,21 @@
-module: github.com/cloudfoundry/archiver
-additional_packages:
+packages:
+ - module: github.com/cloudfoundry/archiver
+ symbols:
+ - tgzExtractor.Extract
+ - zipExtractor.Extract
+ versions:
+ - fixed: v0.0.0-20180523222229-09b5706aa936
- module: code.cloudfoundry.org/archiver
symbols:
- tgzExtractor.Extract
- zipExtractor.Extract
versions:
- fixed: v0.0.0-20180523222229-09b5706aa936
-versions:
- - fixed: v0.0.0-20180523222229-09b5706aa936
description: |
Due to improper path santization, archives containing relative file
paths can cause files to be written (or overwritten) outside of the
target directory.
published: 2021-04-14T20:04:52Z
-symbols:
- - tgzExtractor.Extract
- - zipExtractor.Extract
links:
commit: https://github.com/cloudfoundry/archiver/commit/09b5706aa9367972c09144a450bb4523049ee840
context:
diff --git a/reports/GO-2020-0026.yaml b/reports/GO-2020-0026.yaml
index fc4e14d..389c13a 100644
--- a/reports/GO-2020-0026.yaml
+++ b/reports/GO-2020-0026.yaml
@@ -1,7 +1,15 @@
-module: github.com/openshift/source-to-image
-package: github.com/openshift/source-to-image/pkg/tar
-versions:
- - fixed: v1.1.10-0.20180427153919-f5cbcbc5cc6f
+packages:
+ - module: github.com/openshift/source-to-image
+ package: github.com/openshift/source-to-image/pkg/tar
+ symbols:
+ - stiTar.ExtractTarStreamFromTarReader
+ - stiTar.extractLink
+ - New
+ derived_symbols:
+ - stiTar.ExtractTarStream
+ - stiTar.ExtractTarStreamWithLogging
+ versions:
+ - fixed: v1.1.10-0.20180427153919-f5cbcbc5cc6f
description: |
Due to improper path santization, archives containing relative file
paths can cause files to be written (or overwritten) outside of the
@@ -9,13 +17,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2018-1103
-symbols:
- - stiTar.ExtractTarStreamFromTarReader
- - stiTar.extractLink
- - New
-derived_symbols:
- - stiTar.ExtractTarStream
- - stiTar.ExtractTarStreamWithLogging
links:
commit: https://github.com/openshift/source-to-image/commit/f5cbcbc5cc6f8cc2f479a7302443bea407a700cb
context:
diff --git a/reports/GO-2020-0027.yaml b/reports/GO-2020-0027.yaml
index cfeb12f..bfff53e 100644
--- a/reports/GO-2020-0027.yaml
+++ b/reports/GO-2020-0027.yaml
@@ -1,12 +1,16 @@
-module: github.com/google/fscrypt
-package: github.com/google/fscrypt/pam
-additional_packages:
+packages:
+ - module: github.com/google/fscrypt
+ package: github.com/google/fscrypt/pam
+ symbols:
+ - NewHandle
+ - SetProcessPrivileges
+ - Handle.StopAsPamUser
+ versions:
+ - fixed: v0.2.4
- module: github.com/google/fscrypt
package: github.com/google/fscrypt/security
symbols:
- UserKeyringID
-versions:
- - fixed: v0.2.4
description: |
After dropping and then elevating process privileges euid, guid, and groups
are not properly restored to their original values, allowing an unprivileged
@@ -16,10 +20,6 @@
- CVE-2018-6558
ghsas:
- GHSA-qj26-7grj-whg3
-symbols:
- - NewHandle
- - SetProcessPrivileges
- - Handle.StopAsPamUser
links:
commit: https://github.com/google/fscrypt/commit/3022c1603d968c22f147b4a2c49c4637dd1be91b
context:
diff --git a/reports/GO-2020-0028.yaml b/reports/GO-2020-0028.yaml
index 1cc6f94..e6e2704 100644
--- a/reports/GO-2020-0028.yaml
+++ b/reports/GO-2020-0028.yaml
@@ -1,6 +1,12 @@
-module: github.com/miekg/dns
-versions:
- - fixed: v1.0.10
+packages:
+ - module: github.com/miekg/dns
+ symbols:
+ - setTA
+ derived_symbols:
+ - ParseZone
+ - ReadRR
+ versions:
+ - fixed: v1.0.10
description: |
Due to a nil pointer dereference, parsing a malformed zone file
containing TA records may cause a panic. If parsing user supplied
@@ -11,11 +17,6 @@
ghsas:
- GHSA-9jcx-pr2f-qvq5
credit: '@tr3ee'
-symbols:
- - setTA
-derived_symbols:
- - ParseZone
- - ReadRR
links:
commit: https://github.com/miekg/dns/commit/501e858f679edecd4a38a86317ce50271014a80d
context:
diff --git a/reports/GO-2020-0029.yaml b/reports/GO-2020-0029.yaml
index 50557b5..6498f9b 100644
--- a/reports/GO-2020-0029.yaml
+++ b/reports/GO-2020-0029.yaml
@@ -1,14 +1,15 @@
-module: github.com/gin-gonic/gin
-versions:
- - fixed: v0.0.0-20141229113116-0099840c98ae
+packages:
+ - module: github.com/gin-gonic/gin
+ symbols:
+ - Context.ClientIP
+ versions:
+ - fixed: v0.0.0-20141229113116-0099840c98ae
description: |
Due to improper HTTP header santization, a malicious user can spoof their
source IP address by setting the X-Forwarded-For header. This may allow
a user to bypass IP based restrictions, or obfuscate their true source.
published: 2021-04-14T20:04:52Z
credit: '@nl5887'
-symbols:
- - Context.ClientIP
links:
pr: https://github.com/gin-gonic/gin/pull/182
commit: https://github.com/gin-gonic/gin/commit/0099840c98ae1473c5ff0f18bc93a8e13ceed829
diff --git a/reports/GO-2020-0031.yaml b/reports/GO-2020-0031.yaml
index dfb262f..859b5b9 100644
--- a/reports/GO-2020-0031.yaml
+++ b/reports/GO-2020-0031.yaml
@@ -1,6 +1,7 @@
-module: github.com/proglottis/gpgme
-versions:
- - fixed: v0.1.1
+packages:
+ - module: github.com/proglottis/gpgme
+ versions:
+ - fixed: v0.1.1
description: |
Due to improper setting of finalizers, memory passed to C may be freed before it is used,
leading to crashes due to memory corruption or possible code execution.
diff --git a/reports/GO-2020-0032.yaml b/reports/GO-2020-0032.yaml
index a12d8d7..7b0f261 100644
--- a/reports/GO-2020-0032.yaml
+++ b/reports/GO-2020-0032.yaml
@@ -1,5 +1,9 @@
-module: github.com/goadesign/goa
-additional_packages:
+packages:
+ - module: github.com/goadesign/goa
+ symbols:
+ - Controller.FileHandler
+ versions:
+ - fixed: v1.4.3
- module: goa.design/goa
symbols:
- Controller.FileHandler
@@ -10,16 +14,12 @@
- Controller.FileHandler
versions:
- fixed: v3.0.9
-versions:
- - fixed: v1.4.3
description: |
Due to improper santization of user input, Controller.FileHandler allows
for directory traversal, allowing an attacker to read files outside of
the target directory that the server has permission to read.
published: 2021-04-14T20:04:52Z
credit: '@christi3k'
-symbols:
- - Controller.FileHandler
links:
pr: https://github.com/goadesign/goa/pull/2388
commit: https://github.com/goadesign/goa/commit/70b5a199d0f813d74423993832c424e1fc73fb39
diff --git a/reports/GO-2020-0033.yaml b/reports/GO-2020-0033.yaml
index 52ae5ca..1259941 100644
--- a/reports/GO-2020-0033.yaml
+++ b/reports/GO-2020-0033.yaml
@@ -1,18 +1,19 @@
-module: aahframe.work
-versions:
- - fixed: v0.12.4
+packages:
+ - module: aahframe.work
+ symbols:
+ - HTTPEngine.Handle
+ derived_symbols:
+ - Application.Run
+ - Application.ServeHTTP
+ - Application.Start
+ versions:
+ - fixed: v0.12.4
description: |
Due to improper santization of user input, HTTPEngine.Handle allows
for directory traversal, allowing an attacker to read files outside of
the target directory that the server has permission to read.
published: 2021-04-14T20:04:52Z
credit: '@snyff'
-symbols:
- - HTTPEngine.Handle
-derived_symbols:
- - Application.Run
- - Application.ServeHTTP
- - Application.Start
links:
pr: https://github.com/go-aah/aah/pull/267
commit: https://github.com/go-aah/aah/commit/881dc9f71d1f7a4e8a9a39df9c5c081d3a2da1ec
diff --git a/reports/GO-2020-0034.yaml b/reports/GO-2020-0034.yaml
index 078e012..504274e 100644
--- a/reports/GO-2020-0034.yaml
+++ b/reports/GO-2020-0034.yaml
@@ -1,13 +1,14 @@
-module: github.com/artdarek/go-unzip
-versions:
- - fixed: v1.0.0
+packages:
+ - module: github.com/artdarek/go-unzip
+ symbols:
+ - Unzip.Extract
+ versions:
+ - fixed: v1.0.0
description: |
Due to improper path santization, archives containing relative file
paths can cause files to be written (or overwritten) outside of the
target directory.
published: 2021-04-14T20:04:52Z
-symbols:
- - Unzip.Extract
links:
pr: https://github.com/artdarek/go-unzip/pull/2
commit: https://github.com/artdarek/go-unzip/commit/4975cbe0a719dc50b12da8585f1f207c82f7dfe0
diff --git a/reports/GO-2020-0035.yaml b/reports/GO-2020-0035.yaml
index 7d9d13e..077e386 100644
--- a/reports/GO-2020-0035.yaml
+++ b/reports/GO-2020-0035.yaml
@@ -1,13 +1,14 @@
-module: github.com/yi-ge/unzip
-versions:
- - fixed: v1.0.3-0.20200308084313-2adbaa4891b9
+packages:
+ - module: github.com/yi-ge/unzip
+ symbols:
+ - Unzip.Extract
+ versions:
+ - fixed: v1.0.3-0.20200308084313-2adbaa4891b9
description: |
Due to improper path santization, archives containing relative file
paths can cause files to be written (or overwritten) outside of the
target directory.
published: 2021-04-14T20:04:52Z
-symbols:
- - Unzip.Extract
links:
pr: https://github.com/yi-ge/unzip/pull/1
commit: https://github.com/yi-ge/unzip/commit/2adbaa4891b9690853ef10216189189f5ad7dc73
diff --git a/reports/GO-2020-0036.yaml b/reports/GO-2020-0036.yaml
index ab66e7f..2b99922 100644
--- a/reports/GO-2020-0036.yaml
+++ b/reports/GO-2020-0036.yaml
@@ -1,5 +1,13 @@
-module: gopkg.in/yaml.v2
-additional_packages:
+packages:
+ - module: gopkg.in/yaml.v2
+ symbols:
+ - yaml_parser_fetch_more_tokens
+ derived_symbols:
+ - Decoder.Decode
+ - Unmarshal
+ - UnmarshalStrict
+ versions:
+ - fixed: v2.2.8
- module: github.com/go-yaml/yaml
symbols:
- yaml_parser_fetch_more_tokens
@@ -7,8 +15,6 @@
- Decoder.Decode
- Unmarshal
- UnmarshalStrict
-versions:
- - fixed: v2.2.8
description: |
Due to unbounded aliasing, a crafted YAML file can cause consumption
of significant system resources. If parsing user supplied input, this
@@ -18,12 +24,6 @@
- CVE-2019-11254
ghsas:
- GHSA-wxc4-f4m6-wwqv
-symbols:
- - yaml_parser_fetch_more_tokens
-derived_symbols:
- - Decoder.Decode
- - Unmarshal
- - UnmarshalStrict
links:
pr: https://github.com/go-yaml/yaml/pull/555
commit: https://github.com/go-yaml/yaml/commit/53403b58ad1b561927d19068c655246f2db79d48
diff --git a/reports/GO-2020-0037.yaml b/reports/GO-2020-0037.yaml
index 40c442e..6e031a8 100644
--- a/reports/GO-2020-0037.yaml
+++ b/reports/GO-2020-0037.yaml
@@ -1,7 +1,10 @@
-module: github.com/tendermint/tendermint
-package: github.com/tendermint/tendermint/rpc/client
-versions:
- - fixed: v0.31.1
+packages:
+ - module: github.com/tendermint/tendermint
+ package: github.com/tendermint/tendermint/rpc/client
+ symbols:
+ - makeHTTPClient
+ versions:
+ - fixed: v0.31.1
description: |
Due to support of Gzip compression in request bodies, as well
as a lack of limiting response body sizes, a malicious server
@@ -9,8 +12,6 @@
resources, which may be used as a denial of service vector.
published: 2021-04-14T20:04:52Z
credit: '@guagualvcha'
-symbols:
- - makeHTTPClient
links:
pr: https://github.com/tendermint/tendermint/pull/3430
commit: https://github.com/tendermint/tendermint/commit/03085c2da23b179c4a51f59a03cb40aa4e85a613
diff --git a/reports/GO-2020-0038.yaml b/reports/GO-2020-0038.yaml
index 4d74d41..2657b5b 100644
--- a/reports/GO-2020-0038.yaml
+++ b/reports/GO-2020-0038.yaml
@@ -1,6 +1,15 @@
-module: github.com/pion/dtls
-versions:
- - fixed: v1.5.2
+packages:
+ - module: github.com/pion/dtls
+ symbols:
+ - Conn.handleIncomingPacket
+ derived_symbols:
+ - Client
+ - Dial
+ - Listener.Accept
+ - Resume
+ - Server
+ versions:
+ - fixed: v1.5.2
description: |
Due to improper verification of packets, unencrypted packets containing
application data are accepted after the initial handshake. This allows
@@ -11,14 +20,6 @@
- CVE-2019-20786
ghsas:
- GHSA-7gfg-6934-mqq2
-symbols:
- - Conn.handleIncomingPacket
-derived_symbols:
- - Client
- - Dial
- - Listener.Accept
- - Resume
- - Server
links:
pr: https://github.com/pion/dtls/pull/128
commit: https://github.com/pion/dtls/commit/fd73a5df2ff0e1fb6ae6a51e2777d7a16cc4f4e0
diff --git a/reports/GO-2020-0039.yaml b/reports/GO-2020-0039.yaml
index f9d72db..493a4a5 100644
--- a/reports/GO-2020-0039.yaml
+++ b/reports/GO-2020-0039.yaml
@@ -1,6 +1,15 @@
-module: gopkg.in/macaron.v1
-versions:
- - fixed: v1.3.7
+packages:
+ - module: gopkg.in/macaron.v1
+ symbols:
+ - staticHandler
+ derived_symbols:
+ - Context.Next
+ - LoggerInvoker.Invoke
+ - Macaron.Run
+ - Macaron.ServeHTTP
+ - Router.ServeHTTP
+ versions:
+ - fixed: v1.3.7
description: |
Due to improper request santization, a specifically crafted URL
can cause the static file handler to redirect to an attacker chosen
@@ -11,14 +20,6 @@
ghsas:
- GHSA-733f-44f3-3frw
credit: '@ev0A'
-symbols:
- - staticHandler
-derived_symbols:
- - Context.Next
- - LoggerInvoker.Invoke
- - Macaron.Run
- - Macaron.ServeHTTP
- - Router.ServeHTTP
links:
pr: https://github.com/go-macaron/macaron/pull/199
commit: https://github.com/go-macaron/macaron/commit/addc7461c3a90a040e79aa75bfd245107a210245
diff --git a/reports/GO-2020-0040.yaml b/reports/GO-2020-0040.yaml
index 0746a83..64670d3 100644
--- a/reports/GO-2020-0040.yaml
+++ b/reports/GO-2020-0040.yaml
@@ -1,4 +1,5 @@
-module: github.com/shiyanhui/dht
+packages:
+ - module: github.com/shiyanhui/dht
description: |
Due to unchecked type assertions, maliciously crafted messages can
cause panics, which may be used as a denial of service vector.
diff --git a/reports/GO-2020-0041.yaml b/reports/GO-2020-0041.yaml
index 5195042..8c63c94 100644
--- a/reports/GO-2020-0041.yaml
+++ b/reports/GO-2020-0041.yaml
@@ -1,6 +1,20 @@
-module: github.com/unknwon/cae
-package: github.com/unknwon/cae/tz
-additional_packages:
+packages:
+ - module: github.com/unknwon/cae
+ package: github.com/unknwon/cae/tz
+ symbols:
+ - TzArchive.syncFiles
+ - TzArchive.ExtractToFunc
+ derived_symbols:
+ - Create
+ - ExtractTo
+ - Open
+ - OpenFile
+ - TzArchive.Close
+ - TzArchive.ExtractTo
+ - TzArchive.Flush
+ - TzArchive.Open
+ versions:
+ - fixed: v1.0.1
- module: github.com/unknwon/cae
package: github.com/unknwon/cae/zip
symbols:
@@ -17,8 +31,6 @@
- ZipArchive.Flush
versions:
- fixed: v1.0.1
-versions:
- - fixed: v1.0.1
description: |
Due to improper path santization, archives containing relative file
paths can cause files to be written (or overwritten) outside of the
@@ -28,18 +40,6 @@
- CVE-2020-7668
ghsas:
- GHSA-88jf-7rch-32qc
-symbols:
- - TzArchive.syncFiles
- - TzArchive.ExtractToFunc
-derived_symbols:
- - Create
- - ExtractTo
- - Open
- - OpenFile
- - TzArchive.Close
- - TzArchive.ExtractTo
- - TzArchive.Flush
- - TzArchive.Open
links:
commit: https://github.com/unknwon/cae/commit/07971c00a1bfd9dc171c3ad0bfab5b67c2287e11
context:
diff --git a/reports/GO-2020-0042.yaml b/reports/GO-2020-0042.yaml
index 4989d20..a2a2acb 100644
--- a/reports/GO-2020-0042.yaml
+++ b/reports/GO-2020-0042.yaml
@@ -1,7 +1,10 @@
-module: github.com/sassoftware/go-rpmutils
-package: github.com/sassoftware/go-rpmutils/cpio
-versions:
- - fixed: v0.1.0
+packages:
+ - module: github.com/sassoftware/go-rpmutils
+ package: github.com/sassoftware/go-rpmutils/cpio
+ symbols:
+ - Extract
+ versions:
+ - fixed: v0.1.0
description: |
Due to improper path santization, RPMs containing relative file
paths can cause files to be written (or overwritten) outside of the
@@ -11,8 +14,6 @@
- CVE-2020-7667
ghsas:
- GHSA-9423-6c93-gpp8
-symbols:
- - Extract
links:
commit: https://github.com/sassoftware/go-rpmutils/commit/a64058cf21b8aada501bba923c9aab66fb6febf0
context:
diff --git a/reports/GO-2020-0043.yaml b/reports/GO-2020-0043.yaml
index fc92686..b27eb18 100644
--- a/reports/GO-2020-0043.yaml
+++ b/reports/GO-2020-0043.yaml
@@ -1,7 +1,12 @@
-module: github.com/mholt/caddy
-package: github.com/mholt/caddy/caddyhttp/httpserver
-versions:
- - fixed: v0.10.13
+packages:
+ - module: github.com/mholt/caddy
+ package: github.com/mholt/caddy/caddyhttp/httpserver
+ symbols:
+ - httpContext.MakeServers
+ - Server.serveHTTP
+ - assertConfigsCompatible
+ versions:
+ - fixed: v0.10.13
description: |
Due to improper TLS verification when serving traffic for multiple
SNIs, an attacker may bypass TLS client authentication by indicating
@@ -10,10 +15,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2018-21246
-symbols:
- - httpContext.MakeServers
- - Server.serveHTTP
- - assertConfigsCompatible
links:
pr: https://github.com/caddyserver/caddy/pull/2099
commit: https://github.com/caddyserver/caddy/commit/4d9ee000c8d2cbcdd8284007c1e0f2da7bc3c7c3
diff --git a/reports/GO-2020-0045.yaml b/reports/GO-2020-0045.yaml
index 70ff335..2103cb6 100644
--- a/reports/GO-2020-0045.yaml
+++ b/reports/GO-2020-0045.yaml
@@ -1,17 +1,18 @@
-module: github.com/dinever/golf
-versions:
- - fixed: v0.3.0
+packages:
+ - module: github.com/dinever/golf
+ symbols:
+ - randomBytes
+ derived_symbols:
+ - Context.Render
+ - Context.RenderFromString
+ versions:
+ - fixed: v0.3.0
description: |
CSRF tokens are generated using math/rand, which is not a cryptographically secure
rander number generation, making predicting their values relatively trivial and
allowing an attacker to bypass CSRF protections which relatively few requests.
published: 2021-04-14T20:04:52Z
credit: '@elithrar'
-symbols:
- - randomBytes
-derived_symbols:
- - Context.Render
- - Context.RenderFromString
links:
pr: https://github.com/dinever/golf/pull/24
commit: https://github.com/dinever/golf/commit/3776f338be48b5bc5e8cf9faff7851fc52a3f1fe
diff --git a/reports/GO-2020-0046.yaml b/reports/GO-2020-0046.yaml
index 1f4a258..1e98f38 100644
--- a/reports/GO-2020-0046.yaml
+++ b/reports/GO-2020-0046.yaml
@@ -1,5 +1,9 @@
-module: github.com/russellhaering/goxmldsig
-additional_packages:
+packages:
+ - module: github.com/russellhaering/goxmldsig
+ symbols:
+ - ValidationContext.validateSignature
+ versions:
+ - fixed: v1.1.0
- module: github.com/russellhaering/gosaml2
symbols:
- SAMLServiceProvider.validateAssertionSignatures
@@ -8,8 +12,6 @@
- SAMLServiceProvider.ValidateEncodedResponse
versions:
- fixed: v0.6.0
-versions:
- - fixed: v1.1.0
description: |
Due to a nil pointer dereference, a malformed XML Digital Signature
can cause a panic during validation. If user supplied signatures are
@@ -18,8 +20,6 @@
cves:
- CVE-2020-7711
credit: '@stevenjohnstone'
-symbols:
- - ValidationContext.validateSignature
links:
context:
- https://github.com/russellhaering/goxmldsig/issues/48
diff --git a/reports/GO-2020-0047.yaml b/reports/GO-2020-0047.yaml
index 08752f4..09aa55a 100644
--- a/reports/GO-2020-0047.yaml
+++ b/reports/GO-2020-0047.yaml
@@ -1,13 +1,14 @@
-module: github.com/RobotsAndPencils/go-saml
+packages:
+ - module: github.com/RobotsAndPencils/go-saml
+ symbols:
+ - AuthnRequest.Validate
+ - NewAuthnRequest
+ - NewSignedResponse
description: |
XML Digital Signatures generated and validated using this package use
SHA-1, which may allow an attacker to craft inputs which cause hash
collisions depending on their control over the input.
published: 2021-04-14T20:04:52Z
-symbols:
- - AuthnRequest.Validate
- - NewAuthnRequest
- - NewSignedResponse
links:
context:
- https://github.com/RobotsAndPencils/go-saml/pull/38
diff --git a/reports/GO-2020-0048.yaml b/reports/GO-2020-0048.yaml
index f194a4a..6bbcfb6 100644
--- a/reports/GO-2020-0048.yaml
+++ b/reports/GO-2020-0048.yaml
@@ -1,6 +1,9 @@
-module: github.com/antchfx/xmlquery
-versions:
- - fixed: v1.3.1
+packages:
+ - module: github.com/antchfx/xmlquery
+ symbols:
+ - LoadURL
+ versions:
+ - fixed: v1.3.1
description: |
LoadURL does not check the Content-Type of loaded resources,
which can cause a panic due to nil pointer deference if the loaded
@@ -10,8 +13,6 @@
cves:
- CVE-2020-25614
credit: '@dwisiswant0'
-symbols:
- - LoadURL
links:
commit: https://github.com/antchfx/xmlquery/commit/5648b2f39e8d5d3fc903c45a4f1274829df71821
context:
diff --git a/reports/GO-2020-0049.yaml b/reports/GO-2020-0049.yaml
index ec2bae5..33c0eb7 100644
--- a/reports/GO-2020-0049.yaml
+++ b/reports/GO-2020-0049.yaml
@@ -1,17 +1,18 @@
-module: github.com/justinas/nosurf
-versions:
- - fixed: v1.1.1
+packages:
+ - module: github.com/justinas/nosurf
+ symbols:
+ - VerifyToken
+ - verifyToken
+ derived_symbols:
+ - CSRFHandler.ServeHTTP
+ versions:
+ - fixed: v1.1.1
description: |
Due to improper validation of caller input, validation is silently disabled
if the provided expected token is malformed, causing any user supplied token
to be considered valid.
published: 2021-04-14T20:04:52Z
credit: '@aeneasr'
-symbols:
- - VerifyToken
- - verifyToken
-derived_symbols:
- - CSRFHandler.ServeHTTP
links:
pr: https://github.com/justinas/nosurf/pull/60
commit: https://github.com/justinas/nosurf/commit/4d86df7a4affa1fa50ab39fb09aac56c3ce9c314
diff --git a/reports/GO-2020-0050.yaml b/reports/GO-2020-0050.yaml
index e1552cb..af36911 100644
--- a/reports/GO-2020-0050.yaml
+++ b/reports/GO-2020-0050.yaml
@@ -1,6 +1,9 @@
-module: github.com/russellhaering/goxmldsig
-versions:
- - fixed: v1.1.0
+packages:
+ - module: github.com/russellhaering/goxmldsig
+ symbols:
+ - ValidationContext.findSignature
+ versions:
+ - fixed: v1.1.0
description: |
Due to the behavior of encoding/xml, a crafted XML document may cause
XML Digital Signature validation to be entirely bypassed, causing an
@@ -11,8 +14,6 @@
ghsas:
- GHSA-q547-gmf8-8jr7
credit: '@jupenur'
-symbols:
- - ValidationContext.findSignature
links:
commit: https://github.com/russellhaering/goxmldsig/commit/f6188febf0c29d7ffe26a0436212b19cb9615e64
context:
diff --git a/reports/GO-2021-0051.yaml b/reports/GO-2021-0051.yaml
index 22545fe..b48ccf7 100644
--- a/reports/GO-2021-0051.yaml
+++ b/reports/GO-2021-0051.yaml
@@ -1,14 +1,15 @@
-module: github.com/labstack/echo/v4
-versions:
- - fixed: v4.1.18-0.20201215153152-4422e3b66b9f
+packages:
+ - module: github.com/labstack/echo/v4
+ symbols:
+ - common.static
+ versions:
+ - fixed: v4.1.18-0.20201215153152-4422e3b66b9f
description: |
Due to improper sanitization of user input on Windows, the static file handler
allows for directory traversal, allowing an attacker to read files outside of
the target directory that the server has permission to read.
published: 2021-04-14T20:04:52Z
credit: '@little-cui (Apache ServiceComb)'
-symbols:
- - common.static
os:
- windows
links:
diff --git a/reports/GO-2021-0052.yaml b/reports/GO-2021-0052.yaml
index 46bc950..4901289 100644
--- a/reports/GO-2021-0052.yaml
+++ b/reports/GO-2021-0052.yaml
@@ -1,6 +1,9 @@
-module: github.com/gin-gonic/gin
-versions:
- - fixed: v1.6.3-0.20210406033725-bfc8ca285eb4
+packages:
+ - module: github.com/gin-gonic/gin
+ symbols:
+ - Context.ClientIP
+ versions:
+ - fixed: v1.6.3-0.20210406033725-bfc8ca285eb4
description: |
Due to improper HTTP header santization, a malicious user can spoof their
source IP address by setting the X-Forwarded-For header. This may allow
@@ -11,8 +14,6 @@
ghsas:
- GHSA-h395-qcrw-5vmq
credit: '@sorenh'
-symbols:
- - Context.ClientIP
links:
pr: https://github.com/gin-gonic/gin/pull/2632
commit: https://github.com/gin-gonic/gin/commit/bfc8ca285eb46dad60e037d57c545cd260636711
diff --git a/reports/GO-2021-0053.yaml b/reports/GO-2021-0053.yaml
index 42162f5..b8ae5b7 100644
--- a/reports/GO-2021-0053.yaml
+++ b/reports/GO-2021-0053.yaml
@@ -1,6 +1,7 @@
-module: github.com/gogo/protobuf
-versions:
- - fixed: v1.3.2
+packages:
+ - module: github.com/gogo/protobuf
+ versions:
+ - fixed: v1.3.2
description: |
Due to improper bounds checking, maliciously crafted input to generated
Unmarshal methods can cause an out-of-bounds panic. If parsing messages
@@ -8,5 +9,7 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2021-3121
+ghsas:
+ - GHSA-c3h9-896r-86jm
links:
commit: https://github.com/gogo/protobuf/commit/b03c65ea87cdc3521ede29f62fe3ce239267c1bc
diff --git a/reports/GO-2021-0054.yaml b/reports/GO-2021-0054.yaml
index b79fcff..bb5a8fd 100644
--- a/reports/GO-2021-0054.yaml
+++ b/reports/GO-2021-0054.yaml
@@ -1,6 +1,11 @@
-module: github.com/tidwall/gjson
-versions:
- - fixed: v1.6.6
+packages:
+ - module: github.com/tidwall/gjson
+ symbols:
+ - unwrap
+ derived_symbols:
+ - Result.ForEach
+ versions:
+ - fixed: v1.6.6
description: |
Due to improper bounds checking, maliciously crafted JSON objects
can cause an out-of-bounds panic. If parsing user input, this may
@@ -9,10 +14,6 @@
cves:
- CVE-2020-36067
credit: '@toptotu'
-symbols:
- - unwrap
-derived_symbols:
- - Result.ForEach
links:
commit: https://github.com/tidwall/gjson/commit/bf4efcb3c18d1825b2988603dea5909140a5302b
context:
diff --git a/reports/GO-2021-0056.yaml b/reports/GO-2021-0056.yaml
index 06d13fc..8cc1989 100644
--- a/reports/GO-2021-0056.yaml
+++ b/reports/GO-2021-0056.yaml
@@ -1,7 +1,10 @@
-module: github.com/dexidp/dex
-package: github.com/dexidp/dex/connector/saml
-versions:
- - fixed: v0.0.0-20201214082111-324b1c886b40
+packages:
+ - module: github.com/dexidp/dex
+ package: github.com/dexidp/dex/connector/saml
+ symbols:
+ - provider.HandlePOST
+ versions:
+ - fixed: v0.0.0-20201214082111-324b1c886b40
description: |
Due to the behavior of encoding/xml, a crafted XML document may cause
XML Digital Signature validation to be entirely bypassed, causing an
@@ -12,8 +15,6 @@
ghsas:
- GHSA-q547-gmf8-8jr7
credit: Juho Nurminen (Mattermost)
-symbols:
- - provider.HandlePOST
links:
commit: https://github.com/dexidp/dex/commit/324b1c886b407594196113a3dbddebe38eecd4e8
context:
diff --git a/reports/GO-2021-0057.yaml b/reports/GO-2021-0057.yaml
index 5d29ded..5b29316 100644
--- a/reports/GO-2021-0057.yaml
+++ b/reports/GO-2021-0057.yaml
@@ -1,6 +1,30 @@
-module: github.com/buger/jsonparser
-versions:
- - fixed: v1.1.1
+packages:
+ - module: github.com/buger/jsonparser
+ symbols:
+ - searchKeys
+ derived_symbols:
+ - ArrayEach
+ - Delete
+ - EachKey
+ - FuzzDelete
+ - FuzzEachKey
+ - FuzzGetBoolean
+ - FuzzGetFloat
+ - FuzzGetInt
+ - FuzzGetString
+ - FuzzGetUnsafeString
+ - FuzzObjectEach
+ - FuzzSet
+ - Get
+ - GetBoolean
+ - GetFloat
+ - GetInt
+ - GetString
+ - GetUnsafeString
+ - ObjectEach
+ - Set
+ versions:
+ - fixed: v1.1.1
description: |
Due to improper bounds checking, maliciously crafted JSON objects
can cause an out-of-bounds panic. If parsing user input, this may
@@ -9,29 +33,6 @@
cves:
- CVE-2020-35381
credit: '@toptotu'
-symbols:
- - searchKeys
-derived_symbols:
- - ArrayEach
- - Delete
- - EachKey
- - FuzzDelete
- - FuzzEachKey
- - FuzzGetBoolean
- - FuzzGetFloat
- - FuzzGetInt
- - FuzzGetString
- - FuzzGetUnsafeString
- - FuzzObjectEach
- - FuzzSet
- - Get
- - GetBoolean
- - GetFloat
- - GetInt
- - GetString
- - GetUnsafeString
- - ObjectEach
- - Set
links:
pr: https://github.com/buger/jsonparser/pull/221
commit: https://github.com/buger/jsonparser/commit/df3ea76ece10095374fd1c9a22a4fb85a44efc42
diff --git a/reports/GO-2021-0058.yaml b/reports/GO-2021-0058.yaml
index 0edaca4..64a18d5 100644
--- a/reports/GO-2021-0058.yaml
+++ b/reports/GO-2021-0058.yaml
@@ -1,5 +1,16 @@
-module: github.com/crewjam/saml
-additional_packages:
+packages:
+ - module: github.com/crewjam/saml
+ symbols:
+ - IdpAuthnRequest.Validate
+ - ServiceProvider.ParseXMLResponse
+ - ServiceProvider.ValidateLogoutResponseForm
+ - ServiceProvider.ValidateLogoutResponseRedirect
+ derived_symbols:
+ - IdentityProvider.ServeSSO
+ - ServiceProvider.ParseResponse
+ - ServiceProvider.ValidateLogoutResponseRequest
+ versions:
+ - fixed: v0.4.3
- module: github.com/crewjam/saml
package: github.com/crewjam/saml/samlidp
versions:
@@ -8,8 +19,6 @@
package: github.com/crewjam/saml/samlsp
versions:
- fixed: v0.4.3
-versions:
- - fixed: v0.4.3
description: |
Due to the behavior of encoding/xml, a crafted XML document may cause
XML Digital Signature validation to be entirely bypassed, causing an
@@ -19,15 +28,6 @@
- CVE-2020-27846
ghsas:
- GHSA-4hq8-gmxx-h6w9
-symbols:
- - IdpAuthnRequest.Validate
- - ServiceProvider.ParseXMLResponse
- - ServiceProvider.ValidateLogoutResponseForm
- - ServiceProvider.ValidateLogoutResponseRedirect
-derived_symbols:
- - IdentityProvider.ServeSSO
- - ServiceProvider.ParseResponse
- - ServiceProvider.ValidateLogoutResponseRequest
links:
commit: https://github.com/crewjam/saml/commit/da4f1a0612c0a8dd0452cf8b3c7a6518f6b4d053
context:
diff --git a/reports/GO-2021-0059.yaml b/reports/GO-2021-0059.yaml
index 1b400d0..01c0f50 100644
--- a/reports/GO-2021-0059.yaml
+++ b/reports/GO-2021-0059.yaml
@@ -1,6 +1,9 @@
-module: github.com/tidwall/gjson
-versions:
- - fixed: v1.6.4
+packages:
+ - module: github.com/tidwall/gjson
+ symbols:
+ - sqaush
+ versions:
+ - fixed: v1.6.4
description: |
Due to improper bounds checking, maliciously crafted JSON objects
can cause an out-of-bounds panic. If parsing user input, this may
@@ -11,8 +14,6 @@
ghsas:
- GHSA-w942-gw6m-p62c
credit: '@toptotu'
-symbols:
- - sqaush
links:
commit: https://github.com/tidwall/gjson/commit/f0ee9ebde4b619767ae4ac03e8e42addb530f6bc
context:
diff --git a/reports/GO-2021-0060.yaml b/reports/GO-2021-0060.yaml
index fccd2d2..f09b5bb 100644
--- a/reports/GO-2021-0060.yaml
+++ b/reports/GO-2021-0060.yaml
@@ -1,6 +1,14 @@
-module: github.com/russellhaering/gosaml2
-versions:
- - fixed: v0.6.0
+packages:
+ - module: github.com/russellhaering/gosaml2
+ symbols:
+ - parseResponse
+ derived_symbols:
+ - SAMLServiceProvider.RetrieveAssertionInfo
+ - SAMLServiceProvider.ValidateEncodedLogoutRequestPOST
+ - SAMLServiceProvider.ValidateEncodedLogoutResponsePOST
+ - SAMLServiceProvider.ValidateEncodedResponse
+ versions:
+ - fixed: v0.6.0
description: |
Due to the behavior of encoding/xml, a crafted XML document may cause
XML Digital Signature validation to be entirely bypassed, causing an
@@ -11,13 +19,6 @@
ghsas:
- GHSA-xhqq-x44f-9fgg
credit: Juho Nurminen
-symbols:
- - parseResponse
-derived_symbols:
- - SAMLServiceProvider.RetrieveAssertionInfo
- - SAMLServiceProvider.ValidateEncodedLogoutRequestPOST
- - SAMLServiceProvider.ValidateEncodedLogoutResponsePOST
- - SAMLServiceProvider.ValidateEncodedResponse
links:
commit: https://github.com/russellhaering/gosaml2/commit/42606dafba60c58c458f14f75c4c230459672ab9
context:
diff --git a/reports/GO-2021-0061.yaml b/reports/GO-2021-0061.yaml
index 4b2947c..7391528 100644
--- a/reports/GO-2021-0061.yaml
+++ b/reports/GO-2021-0061.yaml
@@ -1,5 +1,13 @@
-module: gopkg.in/yaml.v2
-additional_packages:
+packages:
+ - module: gopkg.in/yaml.v2
+ symbols:
+ - decoder.unmarshal
+ derived_symbols:
+ - Decoder.Decode
+ - Unmarshal
+ - UnmarshalStrict
+ versions:
+ - fixed: v2.2.3
- module: github.com/go-yaml/yaml
symbols:
- decoder.unmarshal
@@ -7,20 +15,12 @@
- Decoder.Decode
- Unmarshal
- UnmarshalStrict
-versions:
- - fixed: v2.2.3
description: |
Due to unbounded alias chasing, a maliciously crafted YAML file
can cause the system to consume significant system resources. If
parsing user input, this may be used as a denial of service vector.
published: 2021-04-14T20:04:52Z
credit: '@simonferquel'
-symbols:
- - decoder.unmarshal
-derived_symbols:
- - Decoder.Decode
- - Unmarshal
- - UnmarshalStrict
links:
pr: https://github.com/go-yaml/yaml/pull/375
commit: https://github.com/go-yaml/yaml/commit/bb4e33bf68bf89cad44d386192cbed201f35b241
diff --git a/reports/GO-2021-0063.yaml b/reports/GO-2021-0063.yaml
index 47d74c0..d39b7f0 100644
--- a/reports/GO-2021-0063.yaml
+++ b/reports/GO-2021-0063.yaml
@@ -1,7 +1,12 @@
-module: github.com/ethereum/go-ethereum
-package: github.com/ethereum/go-ethereum/les
-versions:
- - fixed: v1.9.25
+packages:
+ - module: github.com/ethereum/go-ethereum
+ package: github.com/ethereum/go-ethereum/les
+ symbols:
+ - serverHandler.handleMsg
+ derived_symbols:
+ - PrivateLightServerAPI.Benchmark
+ versions:
+ - fixed: v1.9.25
description: |
Due to a nil pointer dereference, a malicously crafted RPC message
can cause a panic. If handling RPC messages from untrusted clients,
@@ -12,10 +17,6 @@
ghsas:
- GHSA-r33q-22hv-j29q
credit: '@zsfelfoldi'
-symbols:
- - serverHandler.handleMsg
-derived_symbols:
- - PrivateLightServerAPI.Benchmark
links:
pr: https://github.com/ethereum/go-ethereum/pull/21896
commit: https://github.com/ethereum/go-ethereum/commit/bddd103a9f0af27ef533f04e06ea429cf76b6d46
diff --git a/reports/GO-2021-0064.yaml b/reports/GO-2021-0064.yaml
index 47545b2..a3c01fb 100644
--- a/reports/GO-2021-0064.yaml
+++ b/reports/GO-2021-0064.yaml
@@ -1,14 +1,16 @@
-module: k8s.io/client-go
-package: k8s.io/client-go/transport
-additional_packages:
+packages:
+ - module: k8s.io/client-go
+ package: k8s.io/client-go/transport
+ symbols:
+ - requestInfo.toCurl
+ versions:
+ - fixed: v0.20.0-alpha.2
- module: k8s.io/kubernetes
package: k8s.io/kubernetes/staging/src/k8s.io/client-go/transport
symbols:
- requestInfo.toCurl
versions:
- fixed: v1.20.0-alpha.2
-versions:
- - fixed: v0.20.0-alpha.2
description: |
Authorization tokens may be inappropriately logged if the verbosity
level is set to a debug level.
@@ -16,8 +18,6 @@
cves:
- CVE-2020-8565
credit: '@sfowl'
-symbols:
- - requestInfo.toCurl
links:
pr: https://github.com/kubernetes/kubernetes/pull/95316
commit: https://github.com/kubernetes/kubernetes/commit/e99df0e5a75eb6e86123b56d53e9b7ca0fd00419
diff --git a/reports/GO-2021-0065.yaml b/reports/GO-2021-0065.yaml
index 8e4e453..34e20ba 100644
--- a/reports/GO-2021-0065.yaml
+++ b/reports/GO-2021-0065.yaml
@@ -1,22 +1,22 @@
-module: k8s.io/client-go
-package: k8s.io/client-go/transport
-additional_packages:
+packages:
+ - module: k8s.io/client-go
+ package: k8s.io/client-go/transport
+ symbols:
+ - debuggingRoundTripper.RoundTrip
+ versions:
+ - fixed: v0.17.0
- module: k8s.io/kubernetes
package: k8s.io/kubernetes/staging/src/k8s.io/client-go/transport
symbols:
- debuggingRoundTripper.RoundTrip
versions:
- fixed: v1.16.0-beta.1
-versions:
- - fixed: v0.17.0
description: |
Authorization tokens may be inappropriately logged if the verbosity
level is set to a debug level.
published: 2021-04-14T20:04:52Z
cves:
- CVE-2019-11250
-symbols:
- - debuggingRoundTripper.RoundTrip
links:
pr: https://github.com/kubernetes/kubernetes/pull/81330
commit: https://github.com/kubernetes/kubernetes/commit/4441f1d9c3e94d9a3d93b4f184a591cab02a5245
diff --git a/reports/GO-2021-0066.yaml b/reports/GO-2021-0066.yaml
index 775ad08..e8a84d3 100644
--- a/reports/GO-2021-0066.yaml
+++ b/reports/GO-2021-0066.yaml
@@ -1,7 +1,11 @@
-module: k8s.io/kubernetes
-package: k8s.io/kubernetes/pkg/credentialprovider
-versions:
- - fixed: v1.20.0-alpha.1
+packages:
+ - module: k8s.io/kubernetes
+ package: k8s.io/kubernetes/pkg/credentialprovider
+ symbols:
+ - readDockerConfigFileFromBytes
+ - readDockerConfigJSONFileFromBytes
+ versions:
+ - fixed: v1.20.0-alpha.1
description: |
Attempting to read a malformed .dockercfg may cause secrets to be
inappropriately logged.
@@ -9,9 +13,6 @@
cves:
- CVE-2020-8564
credit: '@sfowl'
-symbols:
- - readDockerConfigFileFromBytes
- - readDockerConfigJSONFileFromBytes
links:
pr: https://github.com/kubernetes/kubernetes/pull/94712
commit: https://github.com/kubernetes/kubernetes/commit/11793434dac97a49bfed0150b56ac63e5dc34634
diff --git a/reports/GO-2021-0067.yaml b/reports/GO-2021-0067.yaml
index ff551fb..82eaf03 100644
--- a/reports/GO-2021-0067.yaml
+++ b/reports/GO-2021-0067.yaml
@@ -1,8 +1,11 @@
-module: std
-package: archive/zip
-versions:
- - introduced: go1.16
- fixed: go1.16.1
+packages:
+ - module: std
+ package: archive/zip
+ symbols:
+ - toValidName
+ versions:
+ - introduced: go1.16
+ fixed: go1.16.1
description: |
Using Reader.Open on an archive containing a file with a path
prefixed by "../" will cause a panic due to a stack overflow.
@@ -11,8 +14,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2021-27919
-symbols:
- - toValidName
links:
pr: https://go-review.googlesource.com/c/go/+/300489
commit: https://go.googlesource.com/go/+/cd3b4ca9f20fd14187ed4cdfdee1a02ea87e5cd8
diff --git a/reports/GO-2021-0068.yaml b/reports/GO-2021-0068.yaml
index 34dad13..5213275 100644
--- a/reports/GO-2021-0068.yaml
+++ b/reports/GO-2021-0068.yaml
@@ -1,9 +1,10 @@
-module: std
-package: cmd/go
do_not_export: true
-versions:
- - fixed: go1.14.14
- - fixed: go1.15.7
+packages:
+ - module: std
+ package: cmd/go
+ versions:
+ - fixed: go1.14.14
+ - fixed: go1.15.7
description: |
The go command may execute arbitrary code at build time when using cgo on Windows.
This can be triggered by running go get on a malicious module, or any other time
diff --git a/reports/GO-2021-0069.yaml b/reports/GO-2021-0069.yaml
index a464507..dc8453f 100644
--- a/reports/GO-2021-0069.yaml
+++ b/reports/GO-2021-0069.yaml
@@ -1,18 +1,19 @@
-module: std
-package: math/big
-versions:
- - introduced: go1.14
- fixed: go1.14.12
- - introduced: go1.15
- fixed: go1.15.5
+packages:
+ - module: std
+ package: math/big
+ symbols:
+ - nat.divRecursiveStep
+ versions:
+ - introduced: go1.14
+ fixed: go1.14.12
+ - introduced: go1.15
+ fixed: go1.15.5
description: |
A number of math/big.Int methods can panic when provided large inputs due
to a flawed division method.
published: 2021-04-14T20:04:52Z
cves:
- CVE-2020-28362
-symbols:
- - nat.divRecursiveStep
links:
pr: https://go-review.googlesource.com/c/go/+/269657
commit: https://go.googlesource.com/go/+/1e1fa5903b760c6714ba17e50bf850b01f49135c
diff --git a/reports/GO-2021-0070.yaml b/reports/GO-2021-0070.yaml
index 66582c7..097face 100644
--- a/reports/GO-2021-0070.yaml
+++ b/reports/GO-2021-0070.yaml
@@ -1,7 +1,12 @@
-module: github.com/opencontainers/runc
-package: github.com/opencontainers/runc/libcontainer/user
-versions:
- - fixed: v0.1.0
+packages:
+ - module: github.com/opencontainers/runc
+ package: github.com/opencontainers/runc/libcontainer/user
+ symbols:
+ - GetExecUser
+ derived_symbols:
+ - GetExecUserPath
+ versions:
+ - fixed: v0.1.0
description: |
GetExecUser in the github.com/opencontainers/runc/libcontainer/user package will
improperly interpret numeric UIDs as usernames. If the method is used without
@@ -12,10 +17,6 @@
- CVE-2016-3697
ghsas:
- GHSA-q3j5-32m5-58c2
-symbols:
- - GetExecUser
-derived_symbols:
- - GetExecUserPath
links:
pr: https://github.com/opencontainers/runc/pull/708
commit: https://github.com/opencontainers/runc/commit/69af385de62ea68e2e608335cffbb0f4aa3db091
diff --git a/reports/GO-2021-0071.yaml b/reports/GO-2021-0071.yaml
index 63b2dce..0fc3c1d 100644
--- a/reports/GO-2021-0071.yaml
+++ b/reports/GO-2021-0071.yaml
@@ -1,7 +1,10 @@
-module: github.com/lxc/lxd
-package: github.com/lxc/lxd/shared
-versions:
- - fixed: v0.0.0-20151004155856-19c6961cc101
+packages:
+ - module: github.com/lxc/lxd
+ package: github.com/lxc/lxd/shared
+ symbols:
+ - IdmapSet.doUidshiftIntoContainer
+ versions:
+ - fixed: v0.0.0-20151004155856-19c6961cc101
description: |
A race between chown and chmod operations during a container
filesystem shift may allow a user who can modify the filesystem to
@@ -11,8 +14,6 @@
cves:
- CVE-2015-1340
credit: Seth Arnold
-symbols:
- - IdmapSet.doUidshiftIntoContainer
links:
pr: https://github.com/lxc/lxd/pull/1189
commit: https://github.com/lxc/lxd/commit/19c6961cc1012c8a529f20807328a9357f5034f4
diff --git a/reports/GO-2021-0072.yaml b/reports/GO-2021-0072.yaml
index 08d757a..e7f2af1 100644
--- a/reports/GO-2021-0072.yaml
+++ b/reports/GO-2021-0072.yaml
@@ -1,6 +1,15 @@
-module: github.com/docker/distribution
-package: github.com/docker/distribution/registry/handlers
-additional_packages:
+packages:
+ - module: github.com/docker/distribution
+ package: github.com/docker/distribution/registry/handlers
+ symbols:
+ - copyFullPayload
+ derived_symbols:
+ - blobUploadHandler.PatchBlobData
+ - blobUploadHandler.PutBlobUploadComplete
+ - imageManifestHandler.GetImageManifest
+ - imageManifestHandler.PutImageManifest
+ versions:
+ - fixed: v2.7.0-rc.0+incompatible
- module: github.com/docker/distribution
package: github.com/docker/distribution/registry/storage
symbols:
@@ -18,8 +27,6 @@
- registry.Repositories
versions:
- fixed: v2.7.0-rc.0+incompatible
-versions:
- - fixed: v2.7.0-rc.0+incompatible
description: |
Various storage methods do not impose limits on how much content is accepted
from user requests, allowing a malicious user to force the caller to allocate
@@ -27,13 +34,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2017-11468
-symbols:
- - copyFullPayload
-derived_symbols:
- - blobUploadHandler.PatchBlobData
- - blobUploadHandler.PutBlobUploadComplete
- - imageManifestHandler.GetImageManifest
- - imageManifestHandler.PutImageManifest
links:
pr: https://github.com/distribution/distribution/pull/2340
commit: https://github.com/distribution/distribution/commit/91c507a39abfce14b5c8541cf284330e22208c0f
diff --git a/reports/GO-2021-0073.yaml b/reports/GO-2021-0073.yaml
index 289eae4..09ac192 100644
--- a/reports/GO-2021-0073.yaml
+++ b/reports/GO-2021-0073.yaml
@@ -1,7 +1,10 @@
-module: github.com/git-lfs/git-lfs
-package: github.com/git-lfs/git-lfs/lfsapi
-versions:
- - fixed: v2.1.1-0.20170519163204-f913f5f9c7c6+incompatible
+packages:
+ - module: github.com/git-lfs/git-lfs
+ package: github.com/git-lfs/git-lfs/lfsapi
+ symbols:
+ - sshGetLFSExeAndArgs
+ versions:
+ - fixed: v2.1.1-0.20170519163204-f913f5f9c7c6+incompatible
description: |
Arbitrary command execution can be triggered by improperly
sanitized SSH URLs in LFS configuration files. This can be
@@ -9,8 +12,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2017-17831
-symbols:
- - sshGetLFSExeAndArgs
links:
pr: https://github.com/git-lfs/git-lfs/pull/2241
commit: https://github.com/git-lfs/git-lfs/commit/f913f5f9c7c6d1301785fdf9884a2942d59cdf19
diff --git a/reports/GO-2021-0075.yaml b/reports/GO-2021-0075.yaml
index b0aad78..6748c70 100644
--- a/reports/GO-2021-0075.yaml
+++ b/reports/GO-2021-0075.yaml
@@ -1,15 +1,16 @@
-module: github.com/ethereum/go-ethereum
-package: github.com/ethereum/go-ethereum/les
-versions:
- - fixed: v1.8.11
+packages:
+ - module: github.com/ethereum/go-ethereum
+ package: github.com/ethereum/go-ethereum/les
+ symbols:
+ - protocolManager.handleMsg
+ versions:
+ - fixed: v1.8.11
description: |
Due to improper argument validation in RPC messages, a maliciously crafted
message can cause a panic, leading to denial of service.
published: 2021-04-14T20:04:52Z
cves:
- CVE-2018-12018
-symbols:
- - protocolManager.handleMsg
links:
pr: https://github.com/ethereum/go-ethereum/pull/16891
commit: https://github.com/ethereum/go-ethereum/commit/a5237a27eaf81946a3edb4fafe13ed6359d119e4
diff --git a/reports/GO-2021-0076.yaml b/reports/GO-2021-0076.yaml
index 736facf..b20eba7 100644
--- a/reports/GO-2021-0076.yaml
+++ b/reports/GO-2021-0076.yaml
@@ -1,6 +1,9 @@
-module: github.com/evanphx/json-patch
-versions:
- - fixed: v0.5.2
+packages:
+ - module: github.com/evanphx/json-patch
+ symbols:
+ - partialArray.add
+ versions:
+ - fixed: v0.5.2
description: |
A malicious JSON patch can cause a panic due to an out-of-bounds
write attempt. This can be used as a denial of service vector if
@@ -8,8 +11,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2018-14632
-symbols:
- - partialArray.add
links:
pr: https://github.com/evanphx/json-patch/pull/57
commit: https://github.com/evanphx/json-patch/commit/4c9aadca8f89e349c999f04e28199e96e81aba03
diff --git a/reports/GO-2021-0077.yaml b/reports/GO-2021-0077.yaml
index a8f5d81..d4e8a71 100644
--- a/reports/GO-2021-0077.yaml
+++ b/reports/GO-2021-0077.yaml
@@ -1,7 +1,10 @@
-module: go.etcd.io/etcd
-package: go.etcd.io/etcd/auth
-versions:
- - fixed: v0.5.0-alpha.5.0.20190108173120-83c051b701d3
+packages:
+ - module: go.etcd.io/etcd
+ package: go.etcd.io/etcd/auth
+ symbols:
+ - authStore.AuthInfoFromTLS
+ versions:
+ - fixed: v0.5.0-alpha.5.0.20190108173120-83c051b701d3
description: |
A user can use a valid client certificate that contains a CommonName that matches a
valid RBAC username to authenticate themselves as that user, despite lacking the
@@ -10,8 +13,8 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2018-16886
-symbols:
- - authStore.AuthInfoFromTLS
+ghsas:
+ - GHSA-h6xx-pmxh-3wgp
links:
pr: https://github.com/etcd-io/etcd/pull/10366
commit: https://github.com/etcd-io/etcd/commit/bf9d0d8291dc71ecbfb2690612954e1a298154b2
diff --git a/reports/GO-2021-0078.yaml b/reports/GO-2021-0078.yaml
index 3511cfc..dd230b9 100644
--- a/reports/GO-2021-0078.yaml
+++ b/reports/GO-2021-0078.yaml
@@ -1,7 +1,11 @@
-module: golang.org/x/net
-package: golang.org/x/net/html
-versions:
- - fixed: v0.0.0-20180816102801-aaf60122140d
+packages:
+ - module: golang.org/x/net
+ package: golang.org/x/net/html
+ symbols:
+ - inBodyIM
+ - inFramesetIM
+ versions:
+ - fixed: v0.0.0-20180816102801-aaf60122140d
description: |
The HTML parser does not properly handle "in frameset" insertion mode, and can be made
to panic when operating on malformed HTML that contains <template> tags. If operating
@@ -10,9 +14,6 @@
cves:
- CVE-2018-17075
credit: Kunpei Sakai
-symbols:
- - inBodyIM
- - inFramesetIM
links:
pr: https://go-review.googlesource.com/123776
commit: https://go.googlesource.com/net/+/aaf60122140d3fcf75376d319f0554393160eb50
diff --git a/reports/GO-2021-0079.yaml b/reports/GO-2021-0079.yaml
index 1babb2e..d7d290b 100644
--- a/reports/GO-2021-0079.yaml
+++ b/reports/GO-2021-0079.yaml
@@ -1,7 +1,10 @@
-module: github.com/bytom/bytom
-package: github.com/bytom/bytom/p2p/discover
-versions:
- - fixed: v1.0.4-0.20180831054840-1ac3c8ac4f2b
+packages:
+ - module: github.com/bytom/bytom
+ package: github.com/bytom/bytom/p2p/discover
+ symbols:
+ - Network.checkTopicRegister
+ versions:
+ - fixed: v1.0.4-0.20180831054840-1ac3c8ac4f2b
description: |
A malformed query can cause an out-of-bounds panic due to improper
validation of arguments. If processing queries from untrusted
@@ -10,9 +13,9 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2018-18206
+ghsas:
+ - GHSA-vc3x-gx6c-g99f
credit: '@yahtoo'
-symbols:
- - Network.checkTopicRegister
links:
pr: https://github.com/Bytom/bytom/pull/1307
commit: https://github.com/Bytom/bytom/commit/1ac3c8ac4f2b1e1df9675228290bda6b9586ba42
diff --git a/reports/GO-2021-0081.yaml b/reports/GO-2021-0081.yaml
index cb8c116..c902cbd 100644
--- a/reports/GO-2021-0081.yaml
+++ b/reports/GO-2021-0081.yaml
@@ -1,7 +1,10 @@
-module: github.com/containers/image
-package: github.com/containers/image/docker
-versions:
- - fixed: v2.0.2-0.20190802080134-634605d06e73+incompatible
+packages:
+ - module: github.com/containers/image
+ package: github.com/containers/image/docker
+ symbols:
+ - dockerClient.getBearerToken
+ versions:
+ - fixed: v2.0.2-0.20190802080134-634605d06e73+incompatible
description: |
The HTTP client used to connect to the container registry authorization
service explicitly disables TLS verification, allowing an attacker that
@@ -9,8 +12,8 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2019-10214
-symbols:
- - dockerClient.getBearerToken
+ghsas:
+ - GHSA-85p9-j7c9-v4gr
links:
pr: https://github.com/containers/image/pull/669
commit: https://github.com/containers/image/commit/634605d06e738aec8332bcfd69162e7509ac7aaf
diff --git a/reports/GO-2021-0082.yaml b/reports/GO-2021-0082.yaml
index ec5f9fe..af31db5 100644
--- a/reports/GO-2021-0082.yaml
+++ b/reports/GO-2021-0082.yaml
@@ -1,7 +1,8 @@
-module: github.com/facebook/fbthrift
-package: github.com/facebook/fbthrift/thrift/lib/go/thrift
-versions:
- - fixed: v0.31.1-0.20200311080807-483ed864d69f
+packages:
+ - module: github.com/facebook/fbthrift
+ package: github.com/facebook/fbthrift/thrift/lib/go/thrift
+ versions:
+ - fixed: v0.31.1-0.20200311080807-483ed864d69f
description: |
Thirft Servers preallocate memory for the declared size of messages before
checking the actual size of the message. This allows a malicious user to
diff --git a/reports/GO-2021-0083.yaml b/reports/GO-2021-0083.yaml
index 16dd141..e4a40ee 100644
--- a/reports/GO-2021-0083.yaml
+++ b/reports/GO-2021-0083.yaml
@@ -1,7 +1,10 @@
-module: github.com/hybridgroup/gobot
-package: github.com/hybridgroup/gobot/platforms/mqtt
-versions:
- - fixed: v1.12.1-0.20190521122906-c1aa4f867846
+packages:
+ - module: github.com/hybridgroup/gobot
+ package: github.com/hybridgroup/gobot/platforms/mqtt
+ symbols:
+ - Adaptor.newTLSConfig
+ versions:
+ - fixed: v1.12.1-0.20190521122906-c1aa4f867846
description: |
TLS certificate verification is skipped when connecting to a MQTT server.
This allows an attacker who can MITM the connection to read, or forge,
@@ -9,8 +12,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2019-12496
-symbols:
- - Adaptor.newTLSConfig
links:
commit: https://github.com/hybridgroup/gobot/commit/c1aa4f867846da4669ecf3bc3318bd96b7ee6f3f
context:
diff --git a/reports/GO-2021-0084.yaml b/reports/GO-2021-0084.yaml
index 0d5de51..57c039a 100644
--- a/reports/GO-2021-0084.yaml
+++ b/reports/GO-2021-0084.yaml
@@ -1,7 +1,11 @@
-module: github.com/astaxie/beego
-package: github.com/astaxie/beego/session
-versions:
- - fixed: v1.12.2-0.20200613154013-bac2b31afecc
+packages:
+ - module: github.com/astaxie/beego
+ package: github.com/astaxie/beego/session
+ symbols:
+ - FileProvider.SessionRead
+ - FileProvider.SessionRegenerate
+ versions:
+ - fixed: v1.12.2-0.20200613154013-bac2b31afecc
description: |
Session data is stored using permissive permissions, allowing local users
with filesystem access to read arbitrary data.
@@ -11,9 +15,6 @@
ghsas:
- GHSA-f6px-w8rh-7r89
credit: '@nicowaisman'
-symbols:
- - FileProvider.SessionRead
- - FileProvider.SessionRegenerate
links:
pr: https://github.com/beego/beego/pull/3975
commit: https://github.com/beego/beego/commit/bac2b31afecc65d9a89f9e473b8006c5edc0c8d1
diff --git a/reports/GO-2021-0085.yaml b/reports/GO-2021-0085.yaml
index 821855e..c8c4405 100644
--- a/reports/GO-2021-0085.yaml
+++ b/reports/GO-2021-0085.yaml
@@ -1,12 +1,12 @@
-module: github.com/opencontainers/runc
-package: github.com/opencontainers/runc/libcontainer
-additional_packages:
+packages:
+ - module: github.com/opencontainers/runc
+ package: github.com/opencontainers/runc/libcontainer
+ versions:
+ - fixed: v1.0.0-rc8.0.20190930145003-cad42f6e0932
- module: github.com/opencontainers/selinux
package: github.com/opencontainers/selinux/go-selinux
versions:
- fixed: v1.3.1-0.20190929122143-5215b1806f52
-versions:
- - fixed: v1.0.0-rc8.0.20190930145003-cad42f6e0932
description: |
AppArmor restrictions may be bypassed due to improper validation of mount
targets, allowing a malicious image to mount volumes over e.g. /proc.
diff --git a/reports/GO-2021-0086.yaml b/reports/GO-2021-0086.yaml
index 6bca1ec..c7b07a4 100644
--- a/reports/GO-2021-0086.yaml
+++ b/reports/GO-2021-0086.yaml
@@ -1,7 +1,10 @@
-module: github.com/documize/community
-package: github.com/documize/community/domain/section/markdown
-versions:
- - fixed: v1.76.3-0.20191119114751-a4384210d4d0
+packages:
+ - module: github.com/documize/community
+ package: github.com/documize/community/domain/section/markdown
+ symbols:
+ - Provider.Render
+ versions:
+ - fixed: v1.76.3-0.20191119114751-a4384210d4d0
description: |
HTML content in markdown is not santized during rendering, possibly allowing
XSS if used to render untrusted user input.
@@ -10,7 +13,5 @@
- CVE-2019-19619
ghsas:
- GHSA-wmwp-pggc-h4mj
-symbols:
- - Provider.Render
links:
commit: https://github.com/documize/community/commit/a4384210d4d0d6b18e6fdb7e155de96d4a1cf9f3
diff --git a/reports/GO-2021-0087.yaml b/reports/GO-2021-0087.yaml
index be632d3..1672e00 100644
--- a/reports/GO-2021-0087.yaml
+++ b/reports/GO-2021-0087.yaml
@@ -1,7 +1,10 @@
-module: github.com/opencontainers/runc
-package: github.com/opencontainers/runc/libcontainer
-versions:
- - fixed: v1.0.0-rc9.0.20200122160610-2fc03cc11c77
+packages:
+ - module: github.com/opencontainers/runc
+ package: github.com/opencontainers/runc/libcontainer
+ symbols:
+ - mountToRootfs
+ versions:
+ - fixed: v1.0.0-rc9.0.20200122160610-2fc03cc11c77
description: |
A race while mounting volumes allows a possible symlink-exchange
attack, allowing a user whom can start multiple containers with
@@ -12,8 +15,6 @@
ghsas:
- GHSA-fh74-hm69-rqjw
credit: Leopold Schabel
-symbols:
- - mountToRootfs
links:
pr: https://github.com/opencontainers/runc/pull/2207
commit: https://github.com/opencontainers/runc/commit/2fc03cc11c775b7a8b2e48d7ee447cb9bef32ad0
diff --git a/reports/GO-2021-0088.yaml b/reports/GO-2021-0088.yaml
index 374c5ef..ce1532c 100644
--- a/reports/GO-2021-0088.yaml
+++ b/reports/GO-2021-0088.yaml
@@ -1,7 +1,10 @@
-module: github.com/facebook/fbthrift
-package: github.com/facebook/fbthrift/thrift/lib/go/thrift
-versions:
- - fixed: v0.31.1-0.20190225164308-c461c1bd1a3e
+packages:
+ - module: github.com/facebook/fbthrift
+ package: github.com/facebook/fbthrift/thrift/lib/go/thrift
+ symbols:
+ - Skip
+ versions:
+ - fixed: v0.31.1-0.20190225164308-c461c1bd1a3e
description: |
Skip ignores unknown fields, rather than failing. A malicious user can craft small
messages with unknown fields which can take significant resources to parse. If a
@@ -10,8 +13,8 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2019-3564
-symbols:
- - Skip
+ghsas:
+ - GHSA-x4rg-4545-4w7w
links:
commit: https://github.com/facebook/fbthrift/commit/c461c1bd1a3e130b181aa9c854da3030cd4b5156
context:
diff --git a/reports/GO-2021-0089.yaml b/reports/GO-2021-0089.yaml
index 2923c8f..4c63182 100644
--- a/reports/GO-2021-0089.yaml
+++ b/reports/GO-2021-0089.yaml
@@ -1,6 +1,9 @@
-module: github.com/buger/jsonparser
-versions:
- - fixed: v0.0.0-20200321185410-91ac96899e49
+packages:
+ - module: github.com/buger/jsonparser
+ symbols:
+ - findKeyStart
+ versions:
+ - fixed: v0.0.0-20200321185410-91ac96899e49
description: |
Parsing malformed JSON which contain opening brackets, but not closing brackets,
leads to an infinite loop. If operating on untrusted user input this can be
@@ -11,8 +14,6 @@
ghsas:
- GHSA-rmh2-65xw-9m6q
credit: Cong Wang
-symbols:
- - findKeyStart
links:
pr: https://github.com/buger/jsonparser/pull/192
commit: https://github.com/buger/jsonparser/commit/91ac96899e492584984ded0c8f9a08f10b473717
diff --git a/reports/GO-2021-0090.yaml b/reports/GO-2021-0090.yaml
index b5159ce..35a316b 100644
--- a/reports/GO-2021-0090.yaml
+++ b/reports/GO-2021-0090.yaml
@@ -1,8 +1,13 @@
-module: github.com/tendermint/tendermint
-package: github.com/tendermint/tendermint/types
-versions:
- - introduced: v0.33.0
- fixed: v0.34.0-dev1.0.20200702134149-480b995a3172
+packages:
+ - module: github.com/tendermint/tendermint
+ package: github.com/tendermint/tendermint/types
+ symbols:
+ - VoteSet.MakeCommit
+ derived_symbols:
+ - MakeCommit
+ versions:
+ - introduced: v0.33.0
+ fixed: v0.34.0-dev1.0.20200702134149-480b995a3172
description: |
Proposed commits may contain signatures for blocks not contained within the commit. Instead of skipping
these signatures, they cause failure during verification. A malicious proposer can use this to force
@@ -13,10 +18,6 @@
ghsas:
- GHSA-6jqj-f58p-mrw3
credit: Neeraj Murarka
-symbols:
- - VoteSet.MakeCommit
-derived_symbols:
- - MakeCommit
links:
pr: https://github.com/tendermint/tendermint/pull/5426
commit: https://github.com/tendermint/tendermint/commit/480b995a31727593f58b361af979054d17d84340
diff --git a/reports/GO-2021-0091.yaml b/reports/GO-2021-0091.yaml
index 598e59b..afc277e 100644
--- a/reports/GO-2021-0091.yaml
+++ b/reports/GO-2021-0091.yaml
@@ -1,6 +1,9 @@
-module: github.com/gofiber/fiber
-versions:
- - fixed: v1.12.6-0.20200710202935-a8ad5454363f
+packages:
+ - module: github.com/gofiber/fiber
+ symbols:
+ - Ctx.Attachment
+ versions:
+ - fixed: v1.12.6-0.20200710202935-a8ad5454363f
description: |
Due to improper input validation when uploading a file, a malicious user may
force the server to return arbitrary HTTP headers when the uploaded
@@ -11,8 +14,6 @@
ghsas:
- GHSA-9cx9-x2gp-9qvh
credit: Hasibul Hasan and Abdullah Shaleh
-symbols:
- - Ctx.Attachment
links:
pr: github.com/gofiber/fiber/pull/579
commit: https://github.com/gofiber/fiber/commit/a8ad5454363f627c3f9469c56c5faaf1b943f06a
diff --git a/reports/GO-2021-0092.yaml b/reports/GO-2021-0092.yaml
index ddf9f79..3e58153 100644
--- a/reports/GO-2021-0092.yaml
+++ b/reports/GO-2021-0092.yaml
@@ -1,6 +1,12 @@
-module: github.com/ory/fosite
-versions:
- - fixed: v0.31.0
+packages:
+ - module: github.com/ory/fosite
+ symbols:
+ - Fosite.AuthenticateClient
+ derived_symbols:
+ - Fosite.NewAccessRequest
+ - Fosite.NewRevocationRequest
+ versions:
+ - fixed: v0.31.0
description: |
Uniqueness of JWT IDs (jti) are not checked, allowing the JWT to be
replayed.
@@ -9,11 +15,6 @@
- CVE-2020-15222
ghsas:
- GHSA-v3q9-2p3m-7g43
-symbols:
- - Fosite.AuthenticateClient
-derived_symbols:
- - Fosite.NewAccessRequest
- - Fosite.NewRevocationRequest
links:
commit: https://github.com/ory/fosite/commit/0c9e0f6d654913ad57c507dd9a36631e1858a3e9
context:
diff --git a/reports/GO-2021-0094.yaml b/reports/GO-2021-0094.yaml
index 2fdfc12..85ed58d 100644
--- a/reports/GO-2021-0094.yaml
+++ b/reports/GO-2021-0094.yaml
@@ -1,6 +1,9 @@
-module: github.com/hashicorp/go-slug
-versions:
- - fixed: v0.5.0
+packages:
+ - module: github.com/hashicorp/go-slug
+ symbols:
+ - Unpack
+ versions:
+ - fixed: v0.5.0
description: |
Protections against directory traversal during archive extraction can be
bypassed by chaining multiple symbolic links within the archive. This allows
@@ -11,8 +14,6 @@
published: 2021-04-14T20:04:52Z
cves:
- CVE-2020-29529
-symbols:
- - Unpack
links:
pr: https://github.com/hashicorp/go-slug/pull/12
commit: https://github.com/hashicorp/go-slug/commit/28cafc59c8da6126a3ae94dfa84181df4073454f
diff --git a/reports/GO-2021-0095.yaml b/reports/GO-2021-0095.yaml
index 3b6eb23..74a07c9 100644
--- a/reports/GO-2021-0095.yaml
+++ b/reports/GO-2021-0095.yaml
@@ -1,7 +1,10 @@
-module: github.com/google/go-tpm
-package: github.com/google/go-tpm/tpm
-versions:
- - fixed: v0.3.0
+packages:
+ - module: github.com/google/go-tpm
+ package: github.com/google/go-tpm/tpm
+ symbols:
+ - CreateWrapKey
+ versions:
+ - fixed: v0.3.0
description: |
Due to repeated usage of a XOR key an attacker that can eavesdrop on the TPM 1.2 transport
is able to calculate usageAuth for keys created using CreateWrapKey, despite it being encrypted,
@@ -12,8 +15,6 @@
ghsas:
- GHSA-5x29-3hr9-6wpw
credit: Chris Fenner
-symbols:
- - CreateWrapKey
links:
pr: https://github.com/google/go-tpm/pull/195
commit: https://github.com/google/go-tpm/commit/d7806cce857a1a020190c03348e5361725d8f141
diff --git a/reports/GO-2021-0096.yaml b/reports/GO-2021-0096.yaml
index 13907fe..18cbc2f 100644
--- a/reports/GO-2021-0096.yaml
+++ b/reports/GO-2021-0096.yaml
@@ -1,6 +1,7 @@
-module: github.com/proglottis/gpgme
-versions:
- - fixed: v0.1.1
+packages:
+ - module: github.com/proglottis/gpgme
+ versions:
+ - fixed: v0.1.1
description: |
Due to improper setting of finalizers, memory passed to C may be freed before it is used,
leading to crashes due to memory corruption or possible code execution.
diff --git a/reports/GO-2021-0097.yaml b/reports/GO-2021-0097.yaml
index 0fbf97e..8a05206 100644
--- a/reports/GO-2021-0097.yaml
+++ b/reports/GO-2021-0097.yaml
@@ -1,6 +1,12 @@
-module: github.com/dhowden/tag
-versions:
- - fixed: v0.0.0-20201120070457-d52dcb253c63
+packages:
+ - module: github.com/dhowden/tag
+ symbols:
+ - readPICFrame
+ - readAPICFrame
+ - readTextWithDescrFrame
+ - readAtomData
+ versions:
+ - fixed: v0.0.0-20201120070457-d52dcb253c63
description: |
Due to improper bounds checking, a number of methods can trigger a panic due to attempted
out-of-bounds reads. If the package is used to parse user supplied input, this may be
@@ -12,11 +18,6 @@
- CVE-2020-29244
- CVE-2020-29245
credit: '@Jayl1n'
-symbols:
- - readPICFrame
- - readAPICFrame
- - readTextWithDescrFrame
- - readAtomData
links:
commit: https://github.com/dhowden/tag/commit/d52dcb253c63a153632bfee5f269dd411dcd8e96
context:
diff --git a/reports/GO-2021-0098.yaml b/reports/GO-2021-0098.yaml
index 564f564..b353d71 100644
--- a/reports/GO-2021-0098.yaml
+++ b/reports/GO-2021-0098.yaml
@@ -1,6 +1,10 @@
-module: github.com/git-lfs/git-lfs
-package: github.com/git-lfs/git-lfs/commands
-additional_packages:
+packages:
+ - module: github.com/git-lfs/git-lfs
+ package: github.com/git-lfs/git-lfs/commands
+ symbols:
+ - PipeCommand
+ versions:
+ - fixed: v1.5.1-0.20210113180018-fc664697ed2c
- module: github.com/git-lfs/git-lfs
package: github.com/git-lfs/git-lfs/creds
symbols:
@@ -20,8 +24,6 @@
- sshAuthClient.Resolve
versions:
- fixed: v1.5.1-0.20210113180018-fc664697ed2c
-versions:
- - fixed: v1.5.1-0.20210113180018-fc664697ed2c
description: |
Due to the standard library behavior of exec.LookPath on Windows a number of methods may
result in arbitrary code execution when cloning or operating on untrusted Git repositories.
@@ -31,8 +33,6 @@
ghsas:
- GHSA-cx3w-xqmc-84g5
credit: '@Ry0taK'
-symbols:
- - PipeCommand
os:
- windows
links:
diff --git a/reports/GO-2021-0099.yaml b/reports/GO-2021-0099.yaml
index caff1dc..fe3896c 100644
--- a/reports/GO-2021-0099.yaml
+++ b/reports/GO-2021-0099.yaml
@@ -1,7 +1,12 @@
-module: github.com/deislabs/oras
-package: github.com/deislabs/oras/pkg/content
-versions:
- - fixed: v0.9.0
+packages:
+ - module: github.com/deislabs/oras
+ package: github.com/deislabs/oras/pkg/content
+ symbols:
+ - extractTarDirectory
+ derived_symbols:
+ - fileWriter.Commit
+ versions:
+ - fixed: v0.9.0
description: |
Due to improper path validation, using the github.com/deislabs/oras/pkg/content.FileStore
content store may result in directory traversal during archive extraction, allowing a
@@ -12,10 +17,6 @@
ghsas:
- GHSA-g5v4-5x39-vwhx
credit: Chris Smowton
-symbols:
- - extractTarDirectory
-derived_symbols:
- - fileWriter.Commit
links:
commit: https://github.com/deislabs/oras/commit/96cd90423303f1bb42bd043cb4c36085e6e91e8e
context:
diff --git a/reports/GO-2021-0100.yaml b/reports/GO-2021-0100.yaml
index 61ddb66..f7fbe59 100644
--- a/reports/GO-2021-0100.yaml
+++ b/reports/GO-2021-0100.yaml
@@ -1,7 +1,24 @@
-module: github.com/containers/storage
-package: github.com/containers/storage/pkg/archive
-versions:
- - fixed: v1.28.1
+packages:
+ - module: github.com/containers/storage
+ package: github.com/containers/storage/pkg/archive
+ symbols:
+ - cmdStream
+ derived_symbols:
+ - ApplyLayer
+ - ApplyUncompressedLayer
+ - Archiver.CopyFileWithTar
+ - Archiver.CopyWithTar
+ - Archiver.TarUntar
+ - Archiver.UntarPath
+ - CopyResource
+ - CopyTo
+ - DecompressStream
+ - IsArchivePath
+ - Untar
+ - UntarPath
+ - UntarUncompressed
+ versions:
+ - fixed: v1.28.1
description: |
Due to a goroutine deadlock, using github.com/containers/storage/pkg/archive.DecompressStream
on a xz archive returns a reader which will hang indefinitely when Close is called. An attacker
@@ -13,22 +30,6 @@
ghsas:
- GHSA-7qw8-847f-pggm
credit: Aviv Sasson (Palo Alto Networks)
-symbols:
- - cmdStream
-derived_symbols:
- - ApplyLayer
- - ApplyUncompressedLayer
- - Archiver.CopyFileWithTar
- - Archiver.CopyWithTar
- - Archiver.TarUntar
- - Archiver.UntarPath
- - CopyResource
- - CopyTo
- - DecompressStream
- - IsArchivePath
- - Untar
- - UntarPath
- - UntarUncompressed
links:
pr: https://github.com/containers/storage/pull/860
commit: https://github.com/containers/storage/commit/306fcabc964470e4b3b87a43a8f6b7d698209ee1
diff --git a/reports/GO-2021-0101.yaml b/reports/GO-2021-0101.yaml
index cd8362c..22799e5 100644
--- a/reports/GO-2021-0101.yaml
+++ b/reports/GO-2021-0101.yaml
@@ -1,8 +1,58 @@
-module: github.com/apache/thrift
-package: github.com/apache/thrift/lib/go/thrift
-versions:
- - introduced: v0.0.0-20151001171628-53dd39833a08
- - fixed: v0.13.0
+packages:
+ - module: github.com/apache/thrift
+ package: github.com/apache/thrift/lib/go/thrift
+ symbols:
+ - TSimpleJSONProtocol.safePeekContains
+ derived_symbols:
+ - Skip
+ - SkipDefaultDepth
+ - TJSONProtocol.ParseElemListBegin
+ - TJSONProtocol.ReadBool
+ - TJSONProtocol.ReadByte
+ - TJSONProtocol.ReadDouble
+ - TJSONProtocol.ReadFieldBegin
+ - TJSONProtocol.ReadFieldEnd
+ - TJSONProtocol.ReadI16
+ - TJSONProtocol.ReadI32
+ - TJSONProtocol.ReadI64
+ - TJSONProtocol.ReadListBegin
+ - TJSONProtocol.ReadListEnd
+ - TJSONProtocol.ReadMapBegin
+ - TJSONProtocol.ReadMapEnd
+ - TJSONProtocol.ReadMessageBegin
+ - TJSONProtocol.ReadMessageEnd
+ - TJSONProtocol.ReadSetBegin
+ - TJSONProtocol.ReadSetEnd
+ - TJSONProtocol.ReadStructBegin
+ - TJSONProtocol.ReadStructEnd
+ - TSimpleJSONProtocol.ParseElemListBegin
+ - TSimpleJSONProtocol.ParseF64
+ - TSimpleJSONProtocol.ParseI64
+ - TSimpleJSONProtocol.ParseListBegin
+ - TSimpleJSONProtocol.ParseListEnd
+ - TSimpleJSONProtocol.ParseObjectEnd
+ - TSimpleJSONProtocol.ParseObjectStart
+ - TSimpleJSONProtocol.ReadByte
+ - TSimpleJSONProtocol.ReadDouble
+ - TSimpleJSONProtocol.ReadI16
+ - TSimpleJSONProtocol.ReadI32
+ - TSimpleJSONProtocol.ReadI64
+ - TSimpleJSONProtocol.ReadListBegin
+ - TSimpleJSONProtocol.ReadListEnd
+ - TSimpleJSONProtocol.ReadMapBegin
+ - TSimpleJSONProtocol.ReadMapEnd
+ - TSimpleJSONProtocol.ReadMessageBegin
+ - TSimpleJSONProtocol.ReadMessageEnd
+ - TSimpleJSONProtocol.ReadSetBegin
+ - TSimpleJSONProtocol.ReadSetEnd
+ - TSimpleJSONProtocol.ReadStructBegin
+ - TSimpleJSONProtocol.ReadStructEnd
+ - TStandardClient.Call
+ - TStandardClient.Recv
+ - tApplicationException.Read
+ versions:
+ - introduced: v0.0.0-20151001171628-53dd39833a08
+ - fixed: v0.13.0
description: |
Due to an improper bounds check, parsing maliciously crafted messages can cause panics. If
this package is used to parse untrusted input, this may be used as a vector for a denial of
@@ -12,55 +62,6 @@
- CVE-2019-0210
ghsas:
- GHSA-jq7p-26h5-w78r
-symbols:
- - TSimpleJSONProtocol.safePeekContains
-derived_symbols:
- - Skip
- - SkipDefaultDepth
- - TJSONProtocol.ParseElemListBegin
- - TJSONProtocol.ReadBool
- - TJSONProtocol.ReadByte
- - TJSONProtocol.ReadDouble
- - TJSONProtocol.ReadFieldBegin
- - TJSONProtocol.ReadFieldEnd
- - TJSONProtocol.ReadI16
- - TJSONProtocol.ReadI32
- - TJSONProtocol.ReadI64
- - TJSONProtocol.ReadListBegin
- - TJSONProtocol.ReadListEnd
- - TJSONProtocol.ReadMapBegin
- - TJSONProtocol.ReadMapEnd
- - TJSONProtocol.ReadMessageBegin
- - TJSONProtocol.ReadMessageEnd
- - TJSONProtocol.ReadSetBegin
- - TJSONProtocol.ReadSetEnd
- - TJSONProtocol.ReadStructBegin
- - TJSONProtocol.ReadStructEnd
- - TSimpleJSONProtocol.ParseElemListBegin
- - TSimpleJSONProtocol.ParseF64
- - TSimpleJSONProtocol.ParseI64
- - TSimpleJSONProtocol.ParseListBegin
- - TSimpleJSONProtocol.ParseListEnd
- - TSimpleJSONProtocol.ParseObjectEnd
- - TSimpleJSONProtocol.ParseObjectStart
- - TSimpleJSONProtocol.ReadByte
- - TSimpleJSONProtocol.ReadDouble
- - TSimpleJSONProtocol.ReadI16
- - TSimpleJSONProtocol.ReadI32
- - TSimpleJSONProtocol.ReadI64
- - TSimpleJSONProtocol.ReadListBegin
- - TSimpleJSONProtocol.ReadListEnd
- - TSimpleJSONProtocol.ReadMapBegin
- - TSimpleJSONProtocol.ReadMapEnd
- - TSimpleJSONProtocol.ReadMessageBegin
- - TSimpleJSONProtocol.ReadMessageEnd
- - TSimpleJSONProtocol.ReadSetBegin
- - TSimpleJSONProtocol.ReadSetEnd
- - TSimpleJSONProtocol.ReadStructBegin
- - TSimpleJSONProtocol.ReadStructEnd
- - TStandardClient.Call
- - TStandardClient.Recv
- - tApplicationException.Read
links:
commit: https://github.com/apache/thrift/commit/264a3f318ed3e9e51573f67f963c8509786bcec2
context:
diff --git a/reports/GO-2021-0102.yaml b/reports/GO-2021-0102.yaml
index 9ddacd5..a239896 100644
--- a/reports/GO-2021-0102.yaml
+++ b/reports/GO-2021-0102.yaml
@@ -1,14 +1,16 @@
-module: code.cloudfoundry.org/gorouter
-package: code.cloudfoundry.org/gorouter/common/secure
-additional_packages:
+packages:
+ - module: code.cloudfoundry.org/gorouter
+ package: code.cloudfoundry.org/gorouter/common/secure
+ symbols:
+ - AesGCM.Decrypt
+ versions:
+ - fixed: v0.0.0-20191101214924-b1b5c44e050f
- module: github.com/cloudfoundry/gorouter
package: github.com/cloudfoundry/gorouter/common/secure
symbols:
- AesGCM.Decrypt
versions:
- fixed: v0.0.0-20191101214924-b1b5c44e050f
-versions:
- - fixed: v0.0.0-20191101214924-b1b5c44e050f
description: |
Due to improper input validation, a maliciously crafted input can cause a panic, due to incorrect
nonce size. If this package is used to decrypt user supplied messages without checking the size of
@@ -18,8 +20,6 @@
- CVE-2019-11289
ghsas:
- GHSA-5796-p3m6-9qj4
-symbols:
- - AesGCM.Decrypt
links:
commit: https://github.com/cloudfoundry/gorouter/commit/b1b5c44e050f73b399b379ca63a42a2c5780a83f
context:
diff --git a/reports/GO-2021-0103.yaml b/reports/GO-2021-0103.yaml
index 7e4a416..d10c2e3 100644
--- a/reports/GO-2021-0103.yaml
+++ b/reports/GO-2021-0103.yaml
@@ -1,7 +1,17 @@
-module: github.com/holiman/uint256
-versions:
- - introduced: v0.1.0
- - fixed: v1.1.1
+packages:
+ - module: github.com/holiman/uint256
+ symbols:
+ - udivrem
+ derived_symbols:
+ - Int.AddMod
+ - Int.Div
+ - Int.Mod
+ - Int.MulMod
+ - Int.SDiv
+ - Int.SMod
+ versions:
+ - introduced: v0.1.0
+ - fixed: v1.1.1
description: |
Due to improper bounds checking, certain mathmatical operations can cause a panic via an
out of bounds read. If this package is used to process untrusted user inputs, this may be used
@@ -12,15 +22,6 @@
ghsas:
- GHSA-jm5c-rv3w-w83m
credit: Dima Stebaev
-symbols:
- - udivrem
-derived_symbols:
- - Int.AddMod
- - Int.Div
- - Int.Mod
- - Int.MulMod
- - Int.SDiv
- - Int.SMod
links:
pr: https://github.com/holiman/uint256/pull/80
commit: https://github.com/holiman/uint256/commit/6785da6e3eea403260a5760029e722aa4ff1716d
diff --git a/reports/GO-2021-0104.yaml b/reports/GO-2021-0104.yaml
index 75bc45f..d6bb98f 100644
--- a/reports/GO-2021-0104.yaml
+++ b/reports/GO-2021-0104.yaml
@@ -1,6 +1,18 @@
-module: github.com/pion/webrtc/v3
-versions:
- - fixed: v3.0.15
+packages:
+ - module: github.com/pion/webrtc/v3
+ symbols:
+ - DTLSTransport.Start
+ derived_symbols:
+ - PeerConnection.AddTrack
+ - PeerConnection.AddTransceiverFromTrack
+ - PeerConnection.CreateDataChannel
+ - PeerConnection.RemoveTrack
+ - PeerConnection.SetLocalDescription
+ - PeerConnection.SetRemoteDescription
+ - operations.Done
+ - operations.Enqueue
+ versions:
+ - fixed: v3.0.15
description: |
Due to improper error handling, DTLS connections were not killed when certificate verification
failed, causing users who did not check the connection state to continue to use the connection.
@@ -12,17 +24,6 @@
ghsas:
- GHSA-74xm-qj29-cq8p
credit: Gaukas Wang (@Gaukas)
-symbols:
- - DTLSTransport.Start
-derived_symbols:
- - PeerConnection.AddTrack
- - PeerConnection.AddTransceiverFromTrack
- - PeerConnection.CreateDataChannel
- - PeerConnection.RemoveTrack
- - PeerConnection.SetLocalDescription
- - PeerConnection.SetRemoteDescription
- - operations.Done
- - operations.Enqueue
links:
pr: https://github.com/pion/webrtc/pull/1709
commit: https://github.com/pion/webrtc/commit/545613dcdeb5dedb01cce94175f40bcbe045df2e
diff --git a/reports/GO-2021-0105.yaml b/reports/GO-2021-0105.yaml
index 61dbcea..1e77b8f 100644
--- a/reports/GO-2021-0105.yaml
+++ b/reports/GO-2021-0105.yaml
@@ -1,8 +1,11 @@
-module: github.com/ethereum/go-ethereum
-package: github.com/ethereum/go-ethereum/core
-versions:
- - introduced: v1.9.4
- - fixed: v1.9.20
+packages:
+ - module: github.com/ethereum/go-ethereum
+ package: github.com/ethereum/go-ethereum/core
+ symbols:
+ - StateDB.createObject
+ versions:
+ - introduced: v1.9.4
+ - fixed: v1.9.20
description: |
Due to an incorrect state calculation, a specific set of transactions could cause a consensus disagreement,
causing users of this package to reject a canonical chain.
@@ -12,8 +15,6 @@
ghsas:
- GHSA-xw37-57qp-9mm4
credit: John Youngseok Yang (Software Platform Lab)
-symbols:
- - StateDB.createObject
links:
pr: https://github.com/ethereum/go-ethereum/pull/21080
commit: https://github.com/ethereum/go-ethereum/commit/87c0ba92136a75db0ab2aba1046d4a9860375d6a
diff --git a/reports/GO-2021-0106.yaml b/reports/GO-2021-0106.yaml
index 41290bb..1f0158f 100644
--- a/reports/GO-2021-0106.yaml
+++ b/reports/GO-2021-0106.yaml
@@ -1,13 +1,14 @@
-module: github.com/whyrusleeping/tar-utils
-versions:
- - fixed: v0.0.0-20201201191210-20a61371de5b
+packages:
+ - module: github.com/whyrusleeping/tar-utils
+ symbols:
+ - Extractor.outputPath
+ versions:
+ - fixed: v0.0.0-20201201191210-20a61371de5b
description: |
Due to improper path santization, archives containing relative file
paths can cause files to be written (or overwritten) outside of the
target directory.
published: 2021-07-28T18:08:05Z
-symbols:
- - Extractor.outputPath
links:
commit: https://github.com/whyrusleeping/tar-utils/commit/20a61371de5b51380bbdb0c7935b30b0625ac227
context:
diff --git a/reports/GO-2021-0107.yaml b/reports/GO-2021-0107.yaml
index 0a1825c..f0f8117 100644
--- a/reports/GO-2021-0107.yaml
+++ b/reports/GO-2021-0107.yaml
@@ -1,15 +1,16 @@
-module: github.com/ecnepsnai/web
-versions:
- - fixed: v1.5.2
+packages:
+ - module: github.com/ecnepsnai/web
+ symbols:
+ - Server.socketHandler
+ derived_symbols:
+ - Server.Socket
+ versions:
+ - fixed: v1.5.2
description: |
Web Sockets do not execute any AuthenticateMethod methods which may be set, leading to a
nil pointer dereference if the returned UserData pointer is assumed to be non-nil, or
authentication bypass.
published: 2021-07-28T18:08:05Z
-symbols:
- - Server.socketHandler
-derived_symbols:
- - Server.Socket
links:
commit: https://github.com/ecnepsnai/web/commit/5a78f8d5c41ce60dcf9f61aaf47a7a8dc3e0002f
context:
diff --git a/reports/GO-2021-0108.yaml b/reports/GO-2021-0108.yaml
index 2b08218..3986867 100644
--- a/reports/GO-2021-0108.yaml
+++ b/reports/GO-2021-0108.yaml
@@ -1,6 +1,9 @@
-module: github.com/gofiber/fiber
-versions:
- - fixed: v1.12.6
+packages:
+ - module: github.com/gofiber/fiber
+ symbols:
+ - Ctx.Attachment
+ versions:
+ - fixed: v1.12.6
description: |
Due to improper input sanitization, a maliciously constructed filename could cause a file
download to use an attacker controlled filename, as well as injecting additional headers
@@ -11,8 +14,6 @@
ghsas:
- GHSA-9cx9-x2gp-9qvh
credit: Hasibul Hasan and Abdullah Shaleh
-symbols:
- - Ctx.Attachment
links:
pr: https://github.com/gofiber/fiber/pull/579
commit: https://github.com/gofiber/fiber/commit/f698b5d5066cfe594102ae252cd58a1fe57cf56f
diff --git a/reports/GO-2021-0109.yaml b/reports/GO-2021-0109.yaml
index 93aa159..1c9a570 100644
--- a/reports/GO-2021-0109.yaml
+++ b/reports/GO-2021-0109.yaml
@@ -1,6 +1,9 @@
-module: github.com/ory/fosite
-versions:
- - fixed: v0.34.0
+packages:
+ - module: github.com/ory/fosite
+ symbols:
+ - TokenRevocationHandler.RevokeToken
+ versions:
+ - fixed: v0.34.0
description: |
Due to improper error handling, an error with the underlying token storage may cause a user
to believe a token has been successfully revoked when it is in fact still valid. An attackers
@@ -10,8 +13,6 @@
- CVE-2020-15223
ghsas:
- GHSA-7mqr-2v3q-v2wm
-symbols:
- - TokenRevocationHandler.RevokeToken
links:
commit: https://github.com/ory/fosite/commit/03dd55813f5521985f7dd64277b7ba0cf1441319
context:
diff --git a/reports/GO-2021-0110.yaml b/reports/GO-2021-0110.yaml
index 675792a..ea85c9a 100644
--- a/reports/GO-2021-0110.yaml
+++ b/reports/GO-2021-0110.yaml
@@ -1,6 +1,12 @@
-module: github.com/ory/fosite
-versions:
- - fixed: v0.31.0
+packages:
+ - module: github.com/ory/fosite
+ symbols:
+ - Fosite.AuthenticateClient
+ derived_symbols:
+ - Fosite.NewAccessRequest
+ - Fosite.NewRevocationRequest
+ versions:
+ - fixed: v0.31.0
description: |
Uniqueness of JWT IDs (jti) are not checked, allowing the JWT to be
replayed.
@@ -9,11 +15,6 @@
- CVE-2020-15222
ghsas:
- GHSA-v3q9-2p3m-7g43
-symbols:
- - Fosite.AuthenticateClient
-derived_symbols:
- - Fosite.NewAccessRequest
- - Fosite.NewRevocationRequest
links:
commit: https://github.com/ory/fosite/commit/0c9e0f6d654913ad57c507dd9a36631e1858a3e9
context:
diff --git a/reports/GO-2021-0111.yaml b/reports/GO-2021-0111.yaml
index e70ed08..a020b41 100644
--- a/reports/GO-2021-0111.yaml
+++ b/reports/GO-2021-0111.yaml
@@ -1,7 +1,47 @@
-module: go.mongodb.org/mongo-driver
-package: go.mongodb.org/mongo-driver/bson/bsonrw
-versions:
- - fixed: v1.5.1
+packages:
+ - module: go.mongodb.org/mongo-driver
+ package: go.mongodb.org/mongo-driver/bson/bsonrw
+ symbols:
+ - valueWriter.writeElementHeader
+ derived_symbols:
+ - Copier.AppendArrayBytes
+ - Copier.AppendDocumentBytes
+ - Copier.AppendValueBytes
+ - Copier.CopyArrayFromBytes
+ - Copier.CopyBytesToArrayWriter
+ - Copier.CopyBytesToDocumentWriter
+ - Copier.CopyDocument
+ - Copier.CopyDocumentFromBytes
+ - Copier.CopyDocumentToBytes
+ - Copier.CopyValue
+ - Copier.CopyValueFromBytes
+ - Copier.CopyValueToBytes
+ - CopyDocument
+ - valueWriter.WriteArray
+ - valueWriter.WriteBinary
+ - valueWriter.WriteBinaryWithSubtype
+ - valueWriter.WriteBoolean
+ - valueWriter.WriteCodeWithScope
+ - valueWriter.WriteDBPointer
+ - valueWriter.WriteDateTime
+ - valueWriter.WriteDecimal128
+ - valueWriter.WriteDocument
+ - valueWriter.WriteDouble
+ - valueWriter.WriteInt32
+ - valueWriter.WriteInt64
+ - valueWriter.WriteJavascript
+ - valueWriter.WriteMaxKey
+ - valueWriter.WriteMinKey
+ - valueWriter.WriteNull
+ - valueWriter.WriteObjectID
+ - valueWriter.WriteRegex
+ - valueWriter.WriteString
+ - valueWriter.WriteSymbol
+ - valueWriter.WriteTimestamp
+ - valueWriter.WriteUndefined
+ - valueWriter.WriteValueBytes
+ versions:
+ - fixed: v1.5.1
description: |
Due to improper input sanitization when marshalling Go objects into BSON, a maliciously constructed
Go structure could allow an attacker to inject additional fields into a MongoDB document. Users are
@@ -11,45 +51,6 @@
- CVE-2021-20329
ghsas:
- GHSA-f6mq-5m25-4r72
-symbols:
- - valueWriter.writeElementHeader
-derived_symbols:
- - Copier.AppendArrayBytes
- - Copier.AppendDocumentBytes
- - Copier.AppendValueBytes
- - Copier.CopyArrayFromBytes
- - Copier.CopyBytesToArrayWriter
- - Copier.CopyBytesToDocumentWriter
- - Copier.CopyDocument
- - Copier.CopyDocumentFromBytes
- - Copier.CopyDocumentToBytes
- - Copier.CopyValue
- - Copier.CopyValueFromBytes
- - Copier.CopyValueToBytes
- - CopyDocument
- - valueWriter.WriteArray
- - valueWriter.WriteBinary
- - valueWriter.WriteBinaryWithSubtype
- - valueWriter.WriteBoolean
- - valueWriter.WriteCodeWithScope
- - valueWriter.WriteDBPointer
- - valueWriter.WriteDateTime
- - valueWriter.WriteDecimal128
- - valueWriter.WriteDocument
- - valueWriter.WriteDouble
- - valueWriter.WriteInt32
- - valueWriter.WriteInt64
- - valueWriter.WriteJavascript
- - valueWriter.WriteMaxKey
- - valueWriter.WriteMinKey
- - valueWriter.WriteNull
- - valueWriter.WriteObjectID
- - valueWriter.WriteRegex
- - valueWriter.WriteString
- - valueWriter.WriteSymbol
- - valueWriter.WriteTimestamp
- - valueWriter.WriteUndefined
- - valueWriter.WriteValueBytes
links:
pr: https://github.com/mongodb/mongo-go-driver/pull/622
commit: https://github.com/mongodb/mongo-go-driver/commit/2aca31d5986a9e1c65a92264736de9fdc3b9b4ca
diff --git a/reports/GO-2021-0112.yaml b/reports/GO-2021-0112.yaml
index 6dff105..1304f6a 100644
--- a/reports/GO-2021-0112.yaml
+++ b/reports/GO-2021-0112.yaml
@@ -1,7 +1,86 @@
-module: go.mongodb.org/mongo-driver
-package: go.mongodb.org/mongo-driver/x/bsonx/bsoncore
-versions:
- - fixed: v1.5.1
+packages:
+ - module: go.mongodb.org/mongo-driver
+ package: go.mongodb.org/mongo-driver/x/bsonx/bsoncore
+ symbols:
+ - AppendHeader
+ - AppendRegex
+ derived_symbols:
+ - AppendArrayElement
+ - AppendArrayElementStart
+ - AppendBinaryElement
+ - AppendBooleanElement
+ - AppendCodeWithScopeElement
+ - AppendDBPointerElement
+ - AppendDateTimeElement
+ - AppendDecimal128Element
+ - AppendDocumentElement
+ - AppendDocumentElementStart
+ - AppendDoubleElement
+ - AppendInt32Element
+ - AppendInt64Element
+ - AppendJavaScriptElement
+ - AppendMaxKeyElement
+ - AppendMinKeyElement
+ - AppendNullElement
+ - AppendObjectIDElement
+ - AppendRegexElement
+ - AppendStringElement
+ - AppendSymbolElement
+ - AppendTimeElement
+ - AppendTimestampElement
+ - AppendUndefinedElement
+ - AppendValueElement
+ - ArrayBuilder.AppendArray
+ - ArrayBuilder.AppendBinary
+ - ArrayBuilder.AppendBoolean
+ - ArrayBuilder.AppendCodeWithScope
+ - ArrayBuilder.AppendDBPointer
+ - ArrayBuilder.AppendDateTime
+ - ArrayBuilder.AppendDecimal128
+ - ArrayBuilder.AppendDocument
+ - ArrayBuilder.AppendDouble
+ - ArrayBuilder.AppendInt32
+ - ArrayBuilder.AppendInt64
+ - ArrayBuilder.AppendJavaScript
+ - ArrayBuilder.AppendMaxKey
+ - ArrayBuilder.AppendMinKey
+ - ArrayBuilder.AppendNull
+ - ArrayBuilder.AppendObjectID
+ - ArrayBuilder.AppendRegex
+ - ArrayBuilder.AppendString
+ - ArrayBuilder.AppendSymbol
+ - ArrayBuilder.AppendTimestamp
+ - ArrayBuilder.AppendUndefined
+ - ArrayBuilder.AppendValue
+ - ArrayBuilder.StartArray
+ - BuildArray
+ - BuildArrayElement
+ - BuildDocumentElement
+ - DocumentBuilder.AppendArray
+ - DocumentBuilder.AppendBinary
+ - DocumentBuilder.AppendBoolean
+ - DocumentBuilder.AppendCodeWithScope
+ - DocumentBuilder.AppendDBPointer
+ - DocumentBuilder.AppendDateTime
+ - DocumentBuilder.AppendDecimal128
+ - DocumentBuilder.AppendDocument
+ - DocumentBuilder.AppendDouble
+ - DocumentBuilder.AppendInt32
+ - DocumentBuilder.AppendInt64
+ - DocumentBuilder.AppendJavaScript
+ - DocumentBuilder.AppendMaxKey
+ - DocumentBuilder.AppendMinKey
+ - DocumentBuilder.AppendNull
+ - DocumentBuilder.AppendObjectID
+ - DocumentBuilder.AppendRegex
+ - DocumentBuilder.AppendString
+ - DocumentBuilder.AppendSymbol
+ - DocumentBuilder.AppendTimestamp
+ - DocumentBuilder.AppendUndefined
+ - DocumentBuilder.AppendValue
+ - DocumentBuilder.StartDocument
+ versions:
+ - fixed: v1.5.1
description: |
Due to improper input sanitization when marshalling Go objects into BSON, a maliciously constructed
Go structure could allow an attacker to inject additional fields into a MongoDB document. Users are
@@ -11,84 +90,6 @@
- CVE-2021-20329
ghsas:
- GHSA-f6mq-5m25-4r72
-symbols:
- - AppendHeader
- - AppendRegex
-derived_symbols:
- - AppendArrayElement
- - AppendArrayElementStart
- - AppendBinaryElement
- - AppendBooleanElement
- - AppendCodeWithScopeElement
- - AppendDBPointerElement
- - AppendDateTimeElement
- - AppendDecimal128Element
- - AppendDocumentElement
- - AppendDocumentElementStart
- - AppendDoubleElement
- - AppendInt32Element
- - AppendInt64Element
- - AppendJavaScriptElement
- - AppendMaxKeyElement
- - AppendMinKeyElement
- - AppendNullElement
- - AppendObjectIDElement
- - AppendRegexElement
- - AppendStringElement
- - AppendSymbolElement
- - AppendTimeElement
- - AppendTimestampElement
- - AppendUndefinedElement
- - AppendValueElement
- - ArrayBuilder.AppendArray
- - ArrayBuilder.AppendBinary
- - ArrayBuilder.AppendBoolean
- - ArrayBuilder.AppendCodeWithScope
- - ArrayBuilder.AppendDBPointer
- - ArrayBuilder.AppendDateTime
- - ArrayBuilder.AppendDecimal128
- - ArrayBuilder.AppendDocument
- - ArrayBuilder.AppendDouble
- - ArrayBuilder.AppendInt32
- - ArrayBuilder.AppendInt64
- - ArrayBuilder.AppendJavaScript
- - ArrayBuilder.AppendMaxKey
- - ArrayBuilder.AppendMinKey
- - ArrayBuilder.AppendNull
- - ArrayBuilder.AppendObjectID
- - ArrayBuilder.AppendRegex
- - ArrayBuilder.AppendString
- - ArrayBuilder.AppendSymbol
- - ArrayBuilder.AppendTimestamp
- - ArrayBuilder.AppendUndefined
- - ArrayBuilder.AppendValue
- - ArrayBuilder.StartArray
- - BuildArray
- - BuildArrayElement
- - BuildDocumentElement
- - DocumentBuilder.AppendArray
- - DocumentBuilder.AppendBinary
- - DocumentBuilder.AppendBoolean
- - DocumentBuilder.AppendCodeWithScope
- - DocumentBuilder.AppendDBPointer
- - DocumentBuilder.AppendDateTime
- - DocumentBuilder.AppendDecimal128
- - DocumentBuilder.AppendDocument
- - DocumentBuilder.AppendDouble
- - DocumentBuilder.AppendInt32
- - DocumentBuilder.AppendInt64
- - DocumentBuilder.AppendJavaScript
- - DocumentBuilder.AppendMaxKey
- - DocumentBuilder.AppendMinKey
- - DocumentBuilder.AppendNull
- - DocumentBuilder.AppendObjectID
- - DocumentBuilder.AppendRegex
- - DocumentBuilder.AppendString
- - DocumentBuilder.AppendSymbol
- - DocumentBuilder.AppendTimestamp
- - DocumentBuilder.AppendUndefined
- - DocumentBuilder.AppendValue
- - DocumentBuilder.StartDocument
links:
pr: https://github.com/mongodb/mongo-go-driver/pull/622
commit: https://github.com/mongodb/mongo-go-driver/commit/2aca31d5986a9e1c65a92264736de9fdc3b9b4ca
diff --git a/reports/GO-2021-0113.yaml b/reports/GO-2021-0113.yaml
index 1c42ffa..b4bef0b 100644
--- a/reports/GO-2021-0113.yaml
+++ b/reports/GO-2021-0113.yaml
@@ -1,7 +1,14 @@
-module: golang.org/x/text
-package: golang.org/x/text/language
-versions:
- - fixed: v0.3.7
+packages:
+ - module: golang.org/x/text
+ package: golang.org/x/text/language
+ symbols:
+ - Parse
+ derived_symbols:
+ - MatchStrings
+ - MustParse
+ - ParseAcceptLanguage
+ versions:
+ - fixed: v0.3.7
description: |
Due to improper index calculation, an incorrectly formatted language tag can cause Parse
to panic via an out of bounds read. If Parse is used to process untrusted user inputs,
@@ -10,12 +17,6 @@
cves:
- CVE-2021-38561
credit: Guido Vranken
-symbols:
- - Parse
-derived_symbols:
- - MatchStrings
- - MustParse
- - ParseAcceptLanguage
links:
pr: https://go-review.googlesource.com/c/text/+/340830
commit: https://go.googlesource.com/text/+/383b2e75a7a4198c42f8f87833eefb772868a56f
diff --git a/reports/GO-2021-0140.yaml b/reports/GO-2021-0140.yaml
index fefc859..77bbfe2 100644
--- a/reports/GO-2021-0140.yaml
+++ b/reports/GO-2021-0140.yaml
@@ -1,8 +1,11 @@
-module: std
-package: crypto/x509
-versions:
- - fixed: go1.13.13
- - fixed: go1.14.5
+packages:
+ - module: std
+ package: crypto/x509
+ symbols:
+ - Certificate.Verify
+ versions:
+ - fixed: go1.13.13
+ - fixed: go1.14.5
description: |
X509 Certificate verification does not validate KeyUsages EKU
requirements on Windows if VerifyOptions.Roots is nil.
@@ -10,8 +13,6 @@
cves:
- CVE-2020-14039
credit: Niall Newman
-symbols:
- - Certificate.Verify
os:
- windows
links:
diff --git a/reports/GO-2021-0141.yaml b/reports/GO-2021-0141.yaml
index f5328a0..b238aaa 100644
--- a/reports/GO-2021-0141.yaml
+++ b/reports/GO-2021-0141.yaml
@@ -1,8 +1,11 @@
-module: std
-package: net/http
-versions:
- - fixed: go1.13.13
- - fixed: go1.14.5
+packages:
+ - module: std
+ package: net/http
+ symbols:
+ - expectContinueReader.Read
+ versions:
+ - fixed: go1.13.13
+ - fixed: go1.14.5
description: |
A Go HTTP server which reads from the request body while
simultaneously writing a response can panic when clients
@@ -11,8 +14,6 @@
cves:
- CVE-2020-15586
credit: Mikael Manukyan
-symbols:
- - expectContinueReader.Read
links:
pr: https://go.dev/cl/242598
commit: https://go.googlesource.com/go/+/fa98f46741f818913a8c11b877520a548715131f
diff --git a/reports/GO-2021-0143.yaml b/reports/GO-2021-0143.yaml
index 4aa986d..a664c95 100644
--- a/reports/GO-2021-0143.yaml
+++ b/reports/GO-2021-0143.yaml
@@ -1,6 +1,12 @@
-module: std
-package: net/http/cgi
-additional_packages:
+packages:
+ - module: std
+ package: net/http/cgi
+ symbols:
+ - response.Write
+ versions:
+ - fixed: go1.14.8
+ - fixed: go1.15.1
+ - fixed: go1.16.0
- module: std
package: net/http/fcgi
symbols:
@@ -9,10 +15,6 @@
- fixed: go1.14.8
- fixed: go1.15.1
- fixed: go1.16.0
-versions:
- - fixed: go1.14.8
- - fixed: go1.15.1
- - fixed: go1.16.0
description: |
When a Handler does not explicitly set the Content-Type header,
the net/http/cgi and net/http/fcgi packages default to "text/html",
@@ -22,8 +24,6 @@
cves:
- CVE-2020-24553
credit: RedTeam Pentesting GmbH
-symbols:
- - response.Write
links:
pr: https://go.dev/cl/252179
commit: https://go.googlesource.com/go/+/4f5cd0c0331943c7ec72df3b827d972584f77833
diff --git a/reports/GO-2021-0157.yaml b/reports/GO-2021-0157.yaml
index a8056ec..db2c748 100644
--- a/reports/GO-2021-0157.yaml
+++ b/reports/GO-2021-0157.yaml
@@ -1,7 +1,11 @@
-module: std
-package: net/textproto
-versions:
- - fixed: go1.4.3
+packages:
+ - module: std
+ package: net/textproto
+ symbols:
+ - CanonicalMIMEHeaderKey
+ - canonicalMIMEHeaderKey
+ versions:
+ - fixed: go1.4.3
description: |
The MIME header parser treated spaces and hyphens
as equivalent, which can permit HTTP request smuggling.
@@ -9,9 +13,6 @@
cves:
- CVE-2015-5739
credit: Régis Leroy
-symbols:
- - CanonicalMIMEHeaderKey
- - canonicalMIMEHeaderKey
links:
pr: https://go.dev/cl/11772
commit: https://go.googlesource.com/go/+/117ddcb83d7f42d6aa72241240af99ded81118e9
diff --git a/reports/GO-2021-0159.yaml b/reports/GO-2021-0159.yaml
index 86469d9..2885668 100644
--- a/reports/GO-2021-0159.yaml
+++ b/reports/GO-2021-0159.yaml
@@ -1,7 +1,18 @@
-module: std
-package: net/http
-versions:
- - fixed: go1.4.3
+packages:
+ - module: std
+ package: net/http
+ symbols:
+ - CanonicalMIMEHeaderKey
+ - body.readLocked
+ - canonicalMIMEHeaderKey
+ - chunkWriter.writeHeader
+ - fixLength
+ - fixTransferEncoding
+ - readTransfer
+ - transferWriter.shouldSendContentLength
+ - validHeaderFieldByte
+ versions:
+ - fixed: go1.4.3
description: |
HTTP headers were not properly parsed, which allows remote attackers to
conduct HTTP request smuggling attacks via a request that contains
@@ -12,16 +23,6 @@
- CVE-2015-5740
- CVE-2015-5741
credit: Jed Denlea and Régis Leroy
-symbols:
- - CanonicalMIMEHeaderKey
- - body.readLocked
- - canonicalMIMEHeaderKey
- - chunkWriter.writeHeader
- - fixLength
- - fixTransferEncoding
- - readTransfer
- - transferWriter.shouldSendContentLength
- - validHeaderFieldByte
links:
pr: https://go.dev/cl/13148
commit: https://go.googlesource.com/go/+/26049f6f9171d1190f3bbe05ec304845cfe6399f
diff --git a/reports/GO-2021-0160.yaml b/reports/GO-2021-0160.yaml
index 589c88f..8037b5d 100644
--- a/reports/GO-2021-0160.yaml
+++ b/reports/GO-2021-0160.yaml
@@ -1,8 +1,12 @@
-module: std
-package: math/big
-versions:
- - introduced: go1.5
- fixed: go1.5.3
+packages:
+ - module: std
+ package: math/big
+ symbols:
+ - nat.expNNMontgomery
+ - nat.montgomery
+ versions:
+ - introduced: go1.5
+ fixed: go1.5.3
description: |
Int.Exp Montgomery mishandled carry propagation and produced an incorrect
output, which makes it easier for attackers to obtain private RSA keys via
@@ -27,9 +31,6 @@
cves:
- CVE-2015-8618
credit: Nick Craig-Wood
-symbols:
- - nat.expNNMontgomery
- - nat.montgomery
links:
pr: https://go.dev/cl/18491
commit: https://go.googlesource.com/go/+/1e066cad1ba23f4064545355b8737e4762dd6838
diff --git a/reports/GO-2021-0163.yaml b/reports/GO-2021-0163.yaml
index d4bcb03..a6b9cef 100644
--- a/reports/GO-2021-0163.yaml
+++ b/reports/GO-2021-0163.yaml
@@ -1,8 +1,11 @@
-module: std
-package: syscall
-versions:
- - fixed: go1.5.4
- - fixed: go1.6.1
+packages:
+ - module: std
+ package: syscall
+ symbols:
+ - LoadLibrary
+ versions:
+ - fixed: go1.5.4
+ - fixed: go1.6.1
description: |
Untrusted search path vulnerability on Windows related to LoadLibrary allows
local users to gain privileges via a malicious DLL in the current working
@@ -10,8 +13,6 @@
published: 2022-01-05T22:41:50Z
cves:
- CVE-2016-3958
-symbols:
- - LoadLibrary
links:
pr: https://go.dev/cl/21428
commit: https://go.googlesource.com/go/+/6a0bb87bd0bf0fdf8ddbd35f77a75ebd412f61b0
diff --git a/reports/GO-2021-0172.yaml b/reports/GO-2021-0172.yaml
index 801f8b4..d130765 100644
--- a/reports/GO-2021-0172.yaml
+++ b/reports/GO-2021-0172.yaml
@@ -1,9 +1,12 @@
-module: std
-package: mime/multipart
-versions:
- - fixed: go1.6.4
- - fixed: go1.7.4
- - fixed: go1.8.0
+packages:
+ - module: std
+ package: mime/multipart
+ symbols:
+ - Reader.readForm
+ versions:
+ - fixed: go1.6.4
+ - fixed: go1.7.4
+ - fixed: go1.8.0
description: |
When parsing large multipart/form-data, an attacker can
cause a HTTP server to open a large number of file
@@ -13,8 +16,6 @@
cves:
- CVE-2017-1000098
credit: Simon Rawet
-symbols:
- - Reader.readForm
links:
pr: https://go.dev/cl/30410
commit: https://go.googlesource.com/go/+/7478ea5dba7ed02ddffd91c1d17ec8141f7cf184
diff --git a/reports/GO-2021-0178.yaml b/reports/GO-2021-0178.yaml
index 7802479..40bd88e 100644
--- a/reports/GO-2021-0178.yaml
+++ b/reports/GO-2021-0178.yaml
@@ -1,10 +1,13 @@
-module: std
-package: net/smtp
-versions:
- - introduced: go1.1
- fixed: go1.8.4
- - introduced: go1.1
- fixed: go1.9.1
+packages:
+ - module: std
+ package: net/smtp
+ symbols:
+ - plainAuth.Start
+ versions:
+ - introduced: go1.1
+ fixed: go1.8.4
+ - introduced: go1.1
+ fixed: go1.9.1
description: |
SMTP clients using net/smtp can use the PLAIN authentication scheme on
network connections not secured with TLS, exposing passwords to
@@ -13,8 +16,6 @@
cves:
- CVE-2017-15042
credit: Stevie Johnstone
-symbols:
- - plainAuth.Start
links:
pr: https://go.dev/cl/68170
commit: https://go.googlesource.com/go/+/ec3b6131de8f9c9c25283260c95c616c74f6d790
diff --git a/reports/GO-2021-0223.yaml b/reports/GO-2021-0223.yaml
index 2e49f3b..e4d842d 100644
--- a/reports/GO-2021-0223.yaml
+++ b/reports/GO-2021-0223.yaml
@@ -1,9 +1,12 @@
-module: std
-package: crypto/x509
-versions:
- - fixed: go1.13.13
- - fixed: go1.14.5
- - fixed: go1.15.0
+packages:
+ - module: std
+ package: crypto/x509
+ symbols:
+ - Certificate.systemVerify
+ versions:
+ - fixed: go1.13.13
+ - fixed: go1.14.5
+ - fixed: go1.15.0
description: |
On Windows, if VerifyOptions.Roots is nil, Certificate.Verify
does not check the EKU requirements specified in VerifyOptions.KeyUsages.
@@ -12,8 +15,6 @@
cves:
- CVE-2020-14039
credit: Niall Newman
-symbols:
- - Certificate.systemVerify
os:
- windows
links:
diff --git a/reports/GO-2021-0224.yaml b/reports/GO-2021-0224.yaml
index b26e618..0774836 100644
--- a/reports/GO-2021-0224.yaml
+++ b/reports/GO-2021-0224.yaml
@@ -1,9 +1,12 @@
-module: std
-package: net/http
-versions:
- - fixed: go1.13.13
- - fixed: go1.14.5
- - fixed: go1.15.0
+packages:
+ - module: std
+ package: net/http
+ symbols:
+ - expectContinueReader.Read
+ versions:
+ - fixed: go1.13.13
+ - fixed: go1.14.5
+ - fixed: go1.15.0
description: |
HTTP servers where the Handler concurrently reads the request
body and writes a response can encounter a data race and crash.
@@ -14,8 +17,6 @@
credit: |
Mikael Manukyan, Andrew Kutz, Dave McClure, Tim Downey, Clay
Kauzlaric, and Gabe Rosenhouse
-symbols:
- - expectContinueReader.Read
links:
pr: https://go.dev/cl/242598
commit: https://go.googlesource.com/go/+/fa98f46741f818913a8c11b877520a548715131f
diff --git a/reports/GO-2021-0225.yaml b/reports/GO-2021-0225.yaml
index 048ffd1..b80a2e9 100644
--- a/reports/GO-2021-0225.yaml
+++ b/reports/GO-2021-0225.yaml
@@ -1,8 +1,11 @@
-module: std
-package: encoding/binary
-versions:
- - fixed: go1.13.15
- - fixed: go1.14.7
+packages:
+ - module: std
+ package: encoding/binary
+ symbols:
+ - ReadUvarint
+ versions:
+ - fixed: go1.13.15
+ - fixed: go1.14.7
description: |
Certain invalid inputs to ReadUvarint or ReadVarint could cause those
functions to read an unlimited number of bytes from the ByteReader argument
@@ -21,8 +24,6 @@
ghsas:
- GHSA-q6gq-997w-f55g
credit: Diederik Loerakker, Jonny Rhea, Raúl Kripalani, and Preston Van Loon
-symbols:
- - ReadUvarint
links:
pr: https://go.dev/cl/247120
commit: https://go.googlesource.com/go/+/027d7241ce050d197e7fabea3d541ffbe3487258
diff --git a/reports/GO-2021-0226.yaml b/reports/GO-2021-0226.yaml
index fabf8c0..9def5cf 100644
--- a/reports/GO-2021-0226.yaml
+++ b/reports/GO-2021-0226.yaml
@@ -1,6 +1,13 @@
-module: std
-package: net/http/cgi
-additional_packages:
+packages:
+ - module: std
+ package: net/http/cgi
+ symbols:
+ - response.Write
+ - response.WriteHeader
+ - response.writeCGIHeader
+ versions:
+ - fixed: go1.14.8
+ - fixed: go1.15.1
- module: std
package: net/http/fcgi
symbols:
@@ -10,9 +17,6 @@
versions:
- fixed: go1.14.8
- fixed: go1.15.1
-versions:
- - fixed: go1.14.8
- - fixed: go1.15.1
description: |
When a Handler does not explicitly set the Content-Type header, the the
package would default to “text/html”, which could cause a Cross-Site Scripting
@@ -30,10 +34,6 @@
cves:
- CVE-2020-24553
credit: RedTeam Pentesting GmbH
-symbols:
- - response.Write
- - response.WriteHeader
- - response.writeCGIHeader
links:
pr: https://go.dev/cl/252179
commit: https://go.googlesource.com/go/+/4f5cd0c0331943c7ec72df3b827d972584f77833
diff --git a/reports/GO-2021-0227.yaml b/reports/GO-2021-0227.yaml
index f5071d4..80e3d7d 100644
--- a/reports/GO-2021-0227.yaml
+++ b/reports/GO-2021-0227.yaml
@@ -1,7 +1,10 @@
-module: golang.org/x/crypto
-package: golang.org/x/crypto/ssh
-versions:
- - fixed: v0.0.0-20201216223049-8b5274cf687f
+packages:
+ - module: golang.org/x/crypto
+ package: golang.org/x/crypto/ssh
+ symbols:
+ - connection.serverAuthenticate
+ versions:
+ - fixed: v0.0.0-20201216223049-8b5274cf687f
description: |
Clients can cause a panic in SSH servers. An attacker can craft
an authentication request message for the “gssapi-with-mic” method
@@ -11,8 +14,6 @@
cves:
- CVE-2020-29652
credit: Joern Schneewesiz, GitLab Security Research Team
-symbols:
- - connection.serverAuthenticate
links:
pr: https://go-review.googlesource.com/c/crypto/+/278852
commit: https://go.googlesource.com/crypto/+/8b5274cf687fd9316b4108863654cc57385531e8
diff --git a/reports/GO-2021-0228.yaml b/reports/GO-2021-0228.yaml
index 4a5f238..4a73ff0 100644
--- a/reports/GO-2021-0228.yaml
+++ b/reports/GO-2021-0228.yaml
@@ -1,7 +1,26 @@
-module: github.com/unknwon/cae
-package: github.com/unknwon/cae/zip
-versions:
- - fixed: v1.0.1
+packages:
+ - module: github.com/unknwon/cae
+ package: github.com/unknwon/cae/zip
+ symbols:
+ - TzArchive.syncFiles
+ - TzArchive.ExtractToFunc
+ - ZipArchive.Open
+ - ZipArchive.ExtractToFunc
+ derived_symbols:
+ - Create
+ - ExtractTo
+ - ExtractToFunc
+ - Open
+ - OpenFile
+ - TzArchive.ExtractToFunc
+ - TzArchive.syncFiles
+ - ZipArchive.Close
+ - ZipArchive.ExtractTo
+ - ZipArchive.ExtractToFunc
+ - ZipArchive.Flush
+ - ZipArchive.Open
+ versions:
+ - fixed: v1.0.1
description: |
The ExtractTo function doesn't securely escape file paths in zip archives
which include leading or non-leading "..". This allows an attacker to add or
@@ -12,24 +31,6 @@
ghsas:
- GHSA-vpx7-vm66-qx8r
credit: Georgios Gkitsas of Snyk Security Team
-symbols:
- - TzArchive.syncFiles
- - TzArchive.ExtractToFunc
- - ZipArchive.Open
- - ZipArchive.ExtractToFunc
-derived_symbols:
- - Create
- - ExtractTo
- - ExtractToFunc
- - Open
- - OpenFile
- - TzArchive.ExtractToFunc
- - TzArchive.syncFiles
- - ZipArchive.Close
- - ZipArchive.ExtractTo
- - ZipArchive.ExtractToFunc
- - ZipArchive.Flush
- - ZipArchive.Open
links:
commit: https://github.com/unknwon/cae/commit/07971c00a1bfd9dc171c3ad0bfab5b67c2287e11
context:
diff --git a/reports/GO-2021-0234.yaml b/reports/GO-2021-0234.yaml
index dee48eb..ad246d6 100644
--- a/reports/GO-2021-0234.yaml
+++ b/reports/GO-2021-0234.yaml
@@ -1,9 +1,12 @@
-module: std
-package: encoding/xml
-versions:
- - fixed: go1.15.9
- - fixed: go1.16.1
- - fixed: go1.17.0
+packages:
+ - module: std
+ package: encoding/xml
+ symbols:
+ - Decoder.Token
+ versions:
+ - fixed: go1.15.9
+ - fixed: go1.16.1
+ - fixed: go1.17.0
description: |
The Decode, DecodeElement, and Skip methods of an xml.Decoder
provided by xml.NewTokenDecoder may enter an infinite loop when
@@ -13,8 +16,6 @@
cves:
- CVE-2021-27918
credit: Sam Whited
-symbols:
- - Decoder.Token
links:
pr: https://go.dev/cl/300391
commit: https://go.googlesource.com/go/+/d0b79e3513a29628f3599dc8860666b6eed75372
diff --git a/reports/GO-2021-0235.yaml b/reports/GO-2021-0235.yaml
index ab8fd43..5046fc5 100644
--- a/reports/GO-2021-0235.yaml
+++ b/reports/GO-2021-0235.yaml
@@ -1,9 +1,12 @@
-module: std
-package: crypto/elliptic
-versions:
- - fixed: go1.14.14
- - fixed: go1.15.7
- - fixed: go1.16.0
+packages:
+ - module: std
+ package: crypto/elliptic
+ symbols:
+ - p224Contract
+ versions:
+ - fixed: go1.14.14
+ - fixed: go1.15.7
+ - fixed: go1.16.0
description: |
The P224() Curve implementation can in rare circumstances generate
incorrect outputs, including returning invalid points from
@@ -14,8 +17,6 @@
credit: |
the elliptic-curve-differential-fuzzer project running on OSS-Fuzz
and reported by Philippe Antoine (Catena cyber)
-symbols:
- - p224Contract
links:
pr: https://go.dev/cl/284779
commit: https://go.googlesource.com/go/+/d95ca9138026cbe40e0857d76a81a16d03230871
diff --git a/reports/GO-2021-0237.yaml b/reports/GO-2021-0237.yaml
index e0ebdfc..62fa6a3 100644
--- a/reports/GO-2021-0237.yaml
+++ b/reports/GO-2021-0237.yaml
@@ -1,6 +1,9 @@
-module: github.com/AndrewBurian/powermux
-versions:
- - fixed: v1.1.1
+packages:
+ - module: github.com/AndrewBurian/powermux
+ symbols:
+ - Route.execute
+ versions:
+ - fixed: v1.1.1
description: |
Attackers may be able to craft phishing links and other open
redirects by exploiting PowerMux's trailing slash redirection
@@ -11,8 +14,6 @@
- CVE-2021-32721
ghsas:
- GHSA-mj9r-wwm8-7q52
-symbols:
- - Route.execute
links:
pr: https://github.com/AndrewBurian/powermux/pull/42
commit: https://github.com/AndrewBurian/powermux/commit/5e60a8a0372b35a898796c2697c40e8daabed8e9
diff --git a/reports/GO-2021-0238.yaml b/reports/GO-2021-0238.yaml
index 8b1940b..eb9f768 100644
--- a/reports/GO-2021-0238.yaml
+++ b/reports/GO-2021-0238.yaml
@@ -1,7 +1,10 @@
-module: golang.org/x/net
-package: golang.org/x/net/html
-versions:
- - fixed: v0.0.0-20210520170846-37e1c6afe023
+packages:
+ - module: golang.org/x/net
+ package: golang.org/x/net/html
+ symbols:
+ - inHeadIM
+ versions:
+ - fixed: v0.0.0-20210520170846-37e1c6afe023
description: |
An attacker can craft an input to ParseFragment that causes it
to enter an infinite loop and never return.
@@ -9,8 +12,6 @@
cves:
- CVE-2021-33194
credit: discovered by OSS-Fuzz and reported by Andrew Thornton
-symbols:
- - inHeadIM
links:
pr: https://go.dev/cl/311090
commit: https://go.googlesource.com/net/+/37e1c6afe02340126705deced573a85ab75209d7
diff --git a/reports/GO-2021-0239.yaml b/reports/GO-2021-0239.yaml
index e37ec57..74c98dc 100644
--- a/reports/GO-2021-0239.yaml
+++ b/reports/GO-2021-0239.yaml
@@ -1,9 +1,16 @@
-module: std
-package: net
-versions:
- - fixed: go1.15.13
- - fixed: go1.16.5
- - fixed: go1.17
+packages:
+ - module: std
+ package: net
+ symbols:
+ - Resolver.LookupAddr
+ - Resolver.LookupCNAME
+ - Resolver.LookupMX
+ - Resolver.LookupNS
+ - Resolver.LookupSRV
+ versions:
+ - fixed: go1.15.13
+ - fixed: go1.16.5
+ - fixed: go1.17
description: |
The LookupCNAME, LookupSRV, LookupMX, LookupNS, and LookupAddr
functions and their respective methods on the Resolver type may
@@ -17,12 +24,6 @@
cves:
- CVE-2021-33195
credit: Philipp Jeitner and Haya Shulman from Fraunhofer SIT
-symbols:
- - Resolver.LookupAddr
- - Resolver.LookupCNAME
- - Resolver.LookupMX
- - Resolver.LookupNS
- - Resolver.LookupSRV
links:
pr: https://go.dev/cl/320949
commit: https://go.googlesource.com/go/+/c89f1224a544cde464fcb86e78ebb0cc97eedba2
diff --git a/reports/GO-2021-0240.yaml b/reports/GO-2021-0240.yaml
index b3049e0..2b066b3 100644
--- a/reports/GO-2021-0240.yaml
+++ b/reports/GO-2021-0240.yaml
@@ -1,9 +1,12 @@
-module: std
-package: archive/zip
-versions:
- - fixed: go1.15.13
- - fixed: go1.16.5
- - fixed: go1.17.0
+packages:
+ - module: std
+ package: archive/zip
+ symbols:
+ - Reader.init
+ versions:
+ - fixed: go1.15.13
+ - fixed: go1.16.5
+ - fixed: go1.17.0
description: |
NewReader and OpenReader can cause a panic or an unrecoverable
fatal error when reading an archive that claims to contain a large
@@ -14,8 +17,6 @@
credit: |
the OSS-Fuzz project for discovering this issue and
Emmanuel Odeke for reporting it
-symbols:
- - Reader.init
links:
pr: https://go.dev/cl/318909
commit: https://go.googlesource.com/go/+/74242baa4136c7a9132a8ccd9881354442788c8c
diff --git a/reports/GO-2021-0241.yaml b/reports/GO-2021-0241.yaml
index ea56c73..79353a6 100644
--- a/reports/GO-2021-0241.yaml
+++ b/reports/GO-2021-0241.yaml
@@ -1,9 +1,12 @@
-module: std
-package: net/http/httputil
-versions:
- - fixed: go1.15.13
- - fixed: go1.16.5
- - fixed: go1.17.0
+packages:
+ - module: std
+ package: net/http/httputil
+ symbols:
+ - ReverseProxy.ServeHTTP
+ versions:
+ - fixed: go1.15.13
+ - fixed: go1.16.5
+ - fixed: go1.17.0
description: |
ReverseProxy can be made to forward certain hop-by-hop headers,
including Connection. If the target of the ReverseProxy is
@@ -13,8 +16,6 @@
cves:
- CVE-2021-33197
credit: Mattias Grenfeldt (https://grenfeldt.dev) and Asta Olofsson
-symbols:
- - ReverseProxy.ServeHTTP
links:
pr: https://go.dev/cl/321929
commit: https://go.googlesource.com/go/+/950fa11c4cb01a145bb07eeb167d90a1846061b3
diff --git a/reports/GO-2021-0242.yaml b/reports/GO-2021-0242.yaml
index 48dd8ce..0146e35 100644
--- a/reports/GO-2021-0242.yaml
+++ b/reports/GO-2021-0242.yaml
@@ -1,9 +1,12 @@
-module: std
-package: math/big
-versions:
- - fixed: go1.15.13
- - fixed: go1.16.5
- - fixed: go1.17.0
+packages:
+ - module: std
+ package: math/big
+ symbols:
+ - Rat.SetString
+ versions:
+ - fixed: go1.15.13
+ - fixed: go1.16.5
+ - fixed: go1.17.0
description: |
Rat.SetString and Rat.UnmarshalText may cause a panic or an
unrecoverable fatal error if passed inputs with very large
@@ -14,8 +17,6 @@
credit: |
the OSS-Fuzz project for discovering this issue and to Emmanuel
Odeke for reporting it
-symbols:
- - Rat.SetString
links:
pr: https://go.dev/cl/316149
commit: https://go.googlesource.com/go/+/6c591f79b0b5327549bd4e94970f7a279efb4ab0
diff --git a/reports/GO-2021-0243.yaml b/reports/GO-2021-0243.yaml
index b68b200..76f30db 100644
--- a/reports/GO-2021-0243.yaml
+++ b/reports/GO-2021-0243.yaml
@@ -1,9 +1,12 @@
-module: std
-package: crypto/tls
-versions:
- - fixed: go1.15.14
- - fixed: go1.16.6
- - fixed: go1.17.0
+packages:
+ - module: std
+ package: crypto/tls
+ symbols:
+ - rsaKeyAgreement.generateClientKeyExchange
+ versions:
+ - fixed: go1.15.14
+ - fixed: go1.16.6
+ - fixed: go1.17.0
description: |
crypto/tls clients can panic when provided a certificate of the
wrong type for the negotiated parameters. net/http clients
@@ -12,8 +15,6 @@
cves:
- CVE-2021-34558
credit: Imre Rad
-symbols:
- - rsaKeyAgreement.generateClientKeyExchange
links:
pr: https://go.dev/cl/334031
commit: https://go.googlesource.com/go/+/a98589711da5e9d935e8d690cfca92892e86d557
diff --git a/reports/GO-2021-0245.yaml b/reports/GO-2021-0245.yaml
index 43a576f..bc0076b 100644
--- a/reports/GO-2021-0245.yaml
+++ b/reports/GO-2021-0245.yaml
@@ -1,9 +1,12 @@
-module: std
-package: net/http/httputil
-versions:
- - fixed: go1.15.15
- - fixed: go1.16.7
- - fixed: go1.17.0
+packages:
+ - module: std
+ package: net/http/httputil
+ symbols:
+ - ReverseProxy.ServeHTTP
+ versions:
+ - fixed: go1.15.15
+ - fixed: go1.16.7
+ - fixed: go1.17.0
description: |
ReverseProxy can panic after encountering a problem copying
a proxied response body.
@@ -11,8 +14,6 @@
cves:
- CVE-2021-36221
credit: Andrew Crump
-symbols:
- - ReverseProxy.ServeHTTP
links:
pr: https://go.dev/cl/333191
commit: https://go.googlesource.com/go/+/b7a85e0003cedb1b48a1fd3ae5b746ec6330102e
diff --git a/reports/GO-2021-0258.yaml b/reports/GO-2021-0258.yaml
index d978b51..f27fad8 100644
--- a/reports/GO-2021-0258.yaml
+++ b/reports/GO-2021-0258.yaml
@@ -1,6 +1,9 @@
-module: github.com/pomerium/pomerium
-versions:
- - fixed: v0.15.6
+packages:
+ - module: github.com/pomerium/pomerium
+ symbols:
+ - Manager.onUpdateRecords
+ versions:
+ - fixed: v0.15.6
description: |
Pomerium is an open source identity-aware access proxy. Changes to the OIDC
claims of a user after initial login are not reflected in policy evaluation
@@ -15,8 +18,6 @@
- CVE-2021-41230
ghsas:
- GHSA-j6wp-3859-vxfg
-symbols:
- - Manager.onUpdateRecords
links:
pr: https://github.com/pomerium/pomerium/pull/2724
commit: https://github.com/pomerium/pomerium/commit/f20542c4bf2cc691e4c324f7ec79e02e46d95511
diff --git a/reports/GO-2021-0263.yaml b/reports/GO-2021-0263.yaml
index 0e341d5..81fd9a3 100644
--- a/reports/GO-2021-0263.yaml
+++ b/reports/GO-2021-0263.yaml
@@ -1,8 +1,11 @@
-module: std
-package: debug/macho
-versions:
- - fixed: go1.17.3
- - fixed: go1.16.10
+packages:
+ - module: std
+ package: debug/macho
+ symbols:
+ - NewFile
+ versions:
+ - fixed: go1.17.3
+ - fixed: go1.16.10
description: |
Calling File.ImportedSymbols on a loaded file which contains an invalid
dynamic symbol table command can cause a panic, in particular if the encoded
@@ -12,8 +15,6 @@
cves:
- CVE-2021-41771
credit: Burak Çarıkçı - Yunus Yıldırım (CT-Zer0 Crypttech)
-symbols:
- - NewFile
links:
pr: https://go.dev/cl/367075
commit: https://go.googlesource.com/go/+/61536ec03063b4951163bd09609c86d82631fa27
diff --git a/reports/GO-2021-0264.yaml b/reports/GO-2021-0264.yaml
index f1fbd20..73fd19b 100644
--- a/reports/GO-2021-0264.yaml
+++ b/reports/GO-2021-0264.yaml
@@ -1,8 +1,12 @@
-module: std
-package: archive/zip
-versions:
- - fixed: go1.16.10
- - fixed: go1.17.3
+packages:
+ - module: std
+ package: archive/zip
+ symbols:
+ - split
+ - Reader.Open
+ versions:
+ - fixed: go1.16.10
+ - fixed: go1.17.3
description: |
Previously, opening a zip with (*Reader).Open could result in a panic if the
zip contained a file whose name was exclusively made up of slash characters or
@@ -24,9 +28,6 @@
- CVE-2021-41772
credit: Colin Arnott, SiteHost and Noah Santschi-Cooney, Sourcegraph Code Intelligence
Team
-symbols:
- - split
- - Reader.Open
links:
pr: https://go.dev/cl/349770
commit: https://go.googlesource.com/go/+/b24687394b55a93449e2be4e6892ead58ea9a10f
diff --git a/reports/GO-2021-0265.yaml b/reports/GO-2021-0265.yaml
index 0aab67c..96fe2a4 100644
--- a/reports/GO-2021-0265.yaml
+++ b/reports/GO-2021-0265.yaml
@@ -1,6 +1,9 @@
-module: github.com/tidwall/gjson
-versions:
- - fixed: v1.9.3
+packages:
+ - module: github.com/tidwall/gjson
+ symbols:
+ - match.Match
+ versions:
+ - fixed: v1.9.3
description: |
GJSON allowed a ReDoS (regular expression denial of service) attack.
published: 2022-01-14T17:30:24Z
@@ -8,8 +11,6 @@
- CVE-2021-42836
ghsas:
- GHSA-ppj4-34rq-v8j9
-symbols:
- - match.Match
links:
commit: https://github.com/tidwall/gjson/commit/590010fdac311cc8990ef5c97448d4fec8f29944
context:
diff --git a/reports/GO-2021-0321.yaml b/reports/GO-2021-0321.yaml
index 3ca9530..cb0e0f2 100644
--- a/reports/GO-2021-0321.yaml
+++ b/reports/GO-2021-0321.yaml
@@ -1,8 +1,11 @@
-module: mellium.im/xmpp
-package: mellium.im/xmpp/websocket
-versions:
- - introduced: v0.18.0
- fixed: v0.21.1
+packages:
+ - module: mellium.im/xmpp
+ package: mellium.im/xmpp/websocket
+ symbols:
+ - Dialer.config
+ versions:
+ - introduced: v0.18.0
+ fixed: v0.21.1
description: |
An attacker capable of spoofing DNS TXT records can redirect a
WebSocket connection request to a server under their control without
@@ -10,9 +13,9 @@
the wrong host name is selected during this verification.
cves:
- CVE-2022-24968
+ghsas:
+ - GHSA-m658-p24x-p74r
credit: Travis Burtrum
-symbols:
- - Dialer.config
links:
pr: https://github.com/mellium/xmpp/pull/260
commit: https://github.com/mellium/xmpp/commit/0d92aa486da69b71f2f4a30e62aa722c711b98ac
diff --git a/reports/GO-2021-0356.yaml b/reports/GO-2021-0356.yaml
index 0fd6860..5ef2a11 100644
--- a/reports/GO-2021-0356.yaml
+++ b/reports/GO-2021-0356.yaml
@@ -1,24 +1,25 @@
-module: golang.org/x/crypto
-package: golang.org/x/crypto/ssh
-versions:
- - fixed: v0.0.0-20220314234659-1baeb1ce4c0b
+packages:
+ - module: golang.org/x/crypto
+ package: golang.org/x/crypto/ssh
+ symbols:
+ - ServerConfig.AddHostKey
+ derived_symbols:
+ - ServerConfig.AddHostKey
+ versions:
+ - fixed: v0.0.0-20220314234659-1baeb1ce4c0b
description: |
- Attackers can cause a crash in SSH servers when the server has been
- configured by passing a Signer to ServerConfig.AddHostKey such that
- 1) the Signer passed to AddHostKey does not implement AlgorithmSigner, and
- 2) the Signer passed to AddHostKey returns a key of type “ssh-rsa” from its
- PublicKey method.
+ Attackers can cause a crash in SSH servers when the server has been
+ configured by passing a Signer to ServerConfig.AddHostKey such that
+ 1) the Signer passed to AddHostKey does not implement AlgorithmSigner, and
+ 2) the Signer passed to AddHostKey returns a key of type “ssh-rsa” from its
+ PublicKey method.
- Servers that only use Signer implementations provided by the ssh package are
- unaffected.
+ Servers that only use Signer implementations provided by the ssh package are
+ unaffected.
cves:
- CVE-2022-27191
ghsas:
- GHSA-8c26-wmh5-6g9v
-symbols:
- - ServerConfig.AddHostKey
-derived_symbols:
- - ServerConfig.AddHostKey
links:
pr: https://go.dev/cl/392355
commit: https://go.googlesource.com/crypto/+/1baeb1ce4c0b006eff0f294c47cb7617598dfb3d
diff --git a/reports/GO-2021-0412.yaml b/reports/GO-2021-0412.yaml
index d769b4d..08c248b 100644
--- a/reports/GO-2021-0412.yaml
+++ b/reports/GO-2021-0412.yaml
@@ -1,7 +1,10 @@
-module: github.com/containerd/imgcrypt
-package: github.com/containerd/imgcrypt/images/encryption
-versions:
- - fixed: v1.1.4
+packages:
+ - module: github.com/containerd/imgcrypt
+ package: github.com/containerd/imgcrypt/images/encryption
+ symbols:
+ - cryptManifestList
+ versions:
+ - fixed: v1.1.4
description: |
The imgcrypt library provides API exensions for containerd to
support encrypted container images and implements the ctd-decoder
@@ -25,9 +28,9 @@
different namespaces for each remote user.
cves:
- CVE-2022-24778
+ghsas:
+ - GHSA-8v99-48m9-c8pm
credit: '@dimitar-dimitrow'
-symbols:
- - cryptManifestList
links:
commit: https://github.com/containerd/imgcrypt/commit/6fdd9818a4d8142107b7ecd767d839c9707700d9
context: