#####
# Test of query mode with multiple inputs.
$ govulncheck -mode=query -format json golang.org/x/text@v0.3.0 github.com/tidwall/gjson@v1.6.5
{
  "config": {
    "protocol_version": "v1.0.0",
    "scanner_name": "govulncheck",
    "scanner_version": "v0.0.0-00000000000-20000101010101",
    "db": "testdata/vulndb-v1",
    "db_last_modified": "2023-04-03T15:57:51Z",
    "scan_level": "symbol",
    "scan_mode": "query"
  }
}
{
  "progress": {
    "message": "Looking up vulnerabilities in golang.org/x/text at v0.3.0..."
  }
}
{
  "progress": {
    "message": "Looking up vulnerabilities in github.com/tidwall/gjson at v1.6.5..."
  }
}
{
  "osv": {
    "schema_version": "1.3.1",
    "id": "GO-2020-0015",
    "modified": "2023-04-03T15:57:51Z",
    "published": "2021-04-14T20:04:52Z",
    "aliases": [
      "CVE-2020-14040",
      "GHSA-5rcv-m4m3-hfh7"
    ],
    "summary": "Infinite loop when decoding some inputs in golang.org/x/text",
    "details": "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 the Decoder is called, or the Decoder is passed to transform.String. If used to parse user supplied input, this may be used as a denial of service vector.",
    "affected": [
      {
        "package": {
          "name": "golang.org/x/text",
          "ecosystem": "Go"
        },
        "ranges": [
          {
            "type": "SEMVER",
            "events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "0.3.3"
              }
            ]
          }
        ],
        "ecosystem_specific": {
          "imports": [
            {
              "path": "golang.org/x/text/encoding/unicode",
              "symbols": [
                "bomOverride.Transform",
                "utf16Decoder.Transform"
              ]
            },
            {
              "path": "golang.org/x/text/transform",
              "symbols": [
                "String"
              ]
            }
          ]
        }
      }
    ],
    "references": [
      {
        "type": "FIX",
        "url": "https://go.dev/cl/238238"
      },
      {
        "type": "FIX",
        "url": "https://go.googlesource.com/text/+/23ae387dee1f90d29a23c0e87ee0b46038fbed0e"
      },
      {
        "type": "REPORT",
        "url": "https://go.dev/issue/39491"
      },
      {
        "type": "WEB",
        "url": "https://groups.google.com/g/golang-announce/c/bXVeAmGOqz0"
      }
    ],
    "credits": [
      {
        "name": "@abacabadabacaba and Anton Gyllenberg"
      }
    ],
    "database_specific": {
      "url": "https://pkg.go.dev/vuln/GO-2020-0015"
    }
  }
}
{
  "osv": {
    "schema_version": "1.3.1",
    "id": "GO-2021-0113",
    "modified": "2023-04-03T15:57:51Z",
    "published": "2021-10-06T17:51:21Z",
    "aliases": [
      "CVE-2021-38561",
      "GHSA-ppp9-7jff-5vj2"
    ],
    "details": "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, this may be used as a vector for a denial of service attack.",
    "affected": [
      {
        "package": {
          "name": "golang.org/x/text",
          "ecosystem": "Go"
        },
        "ranges": [
          {
            "type": "SEMVER",
            "events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "0.3.7"
              }
            ]
          }
        ],
        "ecosystem_specific": {
          "imports": [
            {
              "path": "golang.org/x/text/language",
              "symbols": [
                "MatchStrings",
                "MustParse",
                "Parse",
                "ParseAcceptLanguage"
              ]
            }
          ]
        }
      }
    ],
    "references": [
      {
        "type": "FIX",
        "url": "https://go.dev/cl/340830"
      },
      {
        "type": "FIX",
        "url": "https://go.googlesource.com/text/+/383b2e75a7a4198c42f8f87833eefb772868a56f"
      }
    ],
    "credits": [
      {
        "name": "Guido Vranken"
      }
    ],
    "database_specific": {
      "url": "https://pkg.go.dev/vuln/GO-2021-0113"
    }
  }
}
{
  "osv": {
    "schema_version": "1.3.1",
    "id": "GO-2021-0054",
    "modified": "2023-04-03T15:57:51Z",
    "published": "2021-04-14T20:04:52Z",
    "aliases": [
      "CVE-2020-36067",
      "GHSA-p64j-r5f4-pwwx"
    ],
    "details": "Due to improper bounds checking, maliciously crafted JSON objects can cause an out-of-bounds panic. If parsing user input, this may be used as a denial of service vector.",
    "affected": [
      {
        "package": {
          "name": "github.com/tidwall/gjson",
          "ecosystem": "Go"
        },
        "ranges": [
          {
            "type": "SEMVER",
            "events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "1.6.6"
              }
            ]
          }
        ],
        "ecosystem_specific": {
          "imports": [
            {
              "path": "github.com/tidwall/gjson",
              "symbols": [
                "Result.ForEach",
                "unwrap"
              ]
            }
          ]
        }
      }
    ],
    "references": [
      {
        "type": "FIX",
        "url": "https://github.com/tidwall/gjson/commit/bf4efcb3c18d1825b2988603dea5909140a5302b"
      },
      {
        "type": "WEB",
        "url": "https://github.com/tidwall/gjson/issues/196"
      }
    ],
    "credits": [
      {
        "name": "@toptotu"
      }
    ],
    "database_specific": {
      "url": "https://pkg.go.dev/vuln/GO-2021-0054"
    }
  }
}
{
  "osv": {
    "schema_version": "1.3.1",
    "id": "GO-2021-0265",
    "modified": "2023-04-03T15:57:51Z",
    "published": "2022-08-15T18:06:07Z",
    "aliases": [
      "CVE-2021-42248",
      "CVE-2021-42836",
      "GHSA-c9gm-7rfj-8w5h",
      "GHSA-ppj4-34rq-v8j9"
    ],
    "details": "A maliciously crafted path can cause Get and other query functions to consume excessive amounts of CPU and time.",
    "affected": [
      {
        "package": {
          "name": "github.com/tidwall/gjson",
          "ecosystem": "Go"
        },
        "ranges": [
          {
            "type": "SEMVER",
            "events": [
              {
                "introduced": "0"
              },
              {
                "fixed": "1.9.3"
              }
            ]
          }
        ],
        "ecosystem_specific": {
          "imports": [
            {
              "path": "github.com/tidwall/gjson",
              "symbols": [
                "Get",
                "GetBytes",
                "GetMany",
                "GetManyBytes",
                "Result.Get",
                "parseObject",
                "queryMatches"
              ]
            }
          ]
        }
      }
    ],
    "references": [
      {
        "type": "FIX",
        "url": "https://github.com/tidwall/gjson/commit/77a57fda87dca6d0d7d4627d512a630f89a91c96"
      },
      {
        "type": "WEB",
        "url": "https://github.com/tidwall/gjson/issues/237"
      },
      {
        "type": "WEB",
        "url": "https://github.com/tidwall/gjson/issues/236"
      },
      {
        "type": "WEB",
        "url": "https://github.com/tidwall/gjson/commit/590010fdac311cc8990ef5c97448d4fec8f29944"
      }
    ],
    "database_specific": {
      "url": "https://pkg.go.dev/vuln/GO-2021-0265"
    }
  }
}
