data/reports: add GO-2024-2611.yaml

Aliases: CVE-2024-24786

Updates golang/vulndb#2611

Change-Id: I22554d548311b716c453bce880cf2bdfbaa443af
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/569395
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Damien Neil <dneil@google.com>
Reviewed-by: Tatiana Bradley <tatianabradley@google.com>
diff --git a/data/cve/v5/GO-2024-2611.json b/data/cve/v5/GO-2024-2611.json
new file mode 100644
index 0000000..22bea25
--- /dev/null
+++ b/data/cve/v5/GO-2024-2611.json
@@ -0,0 +1,90 @@
+{
+  "dataType": "CVE_RECORD",
+  "dataVersion": "5.0",
+  "cveMetadata": {
+    "cveId": "CVE-2024-24786"
+  },
+  "containers": {
+    "cna": {
+      "providerMetadata": {
+        "orgId": "1bb62c36-49e3-4200-9d77-64a1400537cc"
+      },
+      "title": "Infinite loop in JSON unmarshaling in google.golang.org/protobuf",
+      "descriptions": [
+        {
+          "lang": "en",
+          "value": "The protojson.Unmarshal function can enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a google.protobuf.Any value, or when the UnmarshalOptions.DiscardUnknown option is set."
+        }
+      ],
+      "affected": [
+        {
+          "vendor": "google.golang.org/protobuf",
+          "product": "google.golang.org/protobuf/encoding/protojson",
+          "collectionURL": "https://pkg.go.dev",
+          "packageName": "google.golang.org/protobuf/encoding/protojson",
+          "versions": [
+            {
+              "version": "0",
+              "lessThan": "1.33.0",
+              "status": "affected",
+              "versionType": "semver"
+            }
+          ],
+          "programRoutines": [
+            {
+              "name": "UnmarshalOptions.unmarshal"
+            },
+            {
+              "name": "Unmarshal"
+            },
+            {
+              "name": "UnmarshalOptions.Unmarshal"
+            }
+          ],
+          "defaultStatus": "unaffected"
+        },
+        {
+          "vendor": "google.golang.org/protobuf",
+          "product": "google.golang.org/protobuf/internal/encoding/json",
+          "collectionURL": "https://pkg.go.dev",
+          "packageName": "google.golang.org/protobuf/internal/encoding/json",
+          "versions": [
+            {
+              "version": "0",
+              "lessThan": "1.33.0",
+              "status": "affected",
+              "versionType": "semver"
+            }
+          ],
+          "programRoutines": [
+            {
+              "name": "Decoder.Read"
+            },
+            {
+              "name": "Decoder.Peek"
+            }
+          ],
+          "defaultStatus": "unaffected"
+        }
+      ],
+      "problemTypes": [
+        {
+          "descriptions": [
+            {
+              "lang": "en",
+              "description": "CWE-1286: Improper Validation of Syntactic Correctness of Input"
+            }
+          ]
+        }
+      ],
+      "references": [
+        {
+          "url": "https://go.dev/cl/569356"
+        },
+        {
+          "url": "https://pkg.go.dev/vuln/GO-2024-2611"
+        }
+      ]
+    }
+  }
+}
\ No newline at end of file
diff --git a/data/osv/GO-2024-2611.json b/data/osv/GO-2024-2611.json
new file mode 100644
index 0000000..d23a86b
--- /dev/null
+++ b/data/osv/GO-2024-2611.json
@@ -0,0 +1,60 @@
+{
+  "schema_version": "1.3.1",
+  "id": "GO-2024-2611",
+  "modified": "0001-01-01T00:00:00Z",
+  "published": "0001-01-01T00:00:00Z",
+  "aliases": [
+    "CVE-2024-24786"
+  ],
+  "summary": "Infinite loop in JSON unmarshaling in google.golang.org/protobuf",
+  "details": "The protojson.Unmarshal function can enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a google.protobuf.Any value, or when the UnmarshalOptions.DiscardUnknown option is set.",
+  "affected": [
+    {
+      "package": {
+        "name": "google.golang.org/protobuf",
+        "ecosystem": "Go"
+      },
+      "ranges": [
+        {
+          "type": "SEMVER",
+          "events": [
+            {
+              "introduced": "0"
+            },
+            {
+              "fixed": "1.33.0"
+            }
+          ]
+        }
+      ],
+      "ecosystem_specific": {
+        "imports": [
+          {
+            "path": "google.golang.org/protobuf/encoding/protojson",
+            "symbols": [
+              "Unmarshal",
+              "UnmarshalOptions.Unmarshal",
+              "UnmarshalOptions.unmarshal"
+            ]
+          },
+          {
+            "path": "google.golang.org/protobuf/internal/encoding/json",
+            "symbols": [
+              "Decoder.Peek",
+              "Decoder.Read"
+            ]
+          }
+        ]
+      }
+    }
+  ],
+  "references": [
+    {
+      "type": "FIX",
+      "url": "https://go.dev/cl/569356"
+    }
+  ],
+  "database_specific": {
+    "url": "https://pkg.go.dev/vuln/GO-2024-2611"
+  }
+}
\ No newline at end of file
diff --git a/data/reports/GO-2024-2611.yaml b/data/reports/GO-2024-2611.yaml
new file mode 100644
index 0000000..918609a
--- /dev/null
+++ b/data/reports/GO-2024-2611.yaml
@@ -0,0 +1,29 @@
+id: GO-2024-2611
+modules:
+    - module: google.golang.org/protobuf
+      versions:
+        - fixed: 1.33.0
+      vulnerable_at: 1.32.0
+      packages:
+        - package: google.golang.org/protobuf/encoding/protojson
+          symbols:
+            - UnmarshalOptions.unmarshal
+          derived_symbols:
+            - Unmarshal
+            - UnmarshalOptions.Unmarshal
+        - package: google.golang.org/protobuf/internal/encoding/json
+          symbols:
+            - Decoder.Read
+          derived_symbols:
+            - Decoder.Peek
+summary: Infinite loop in JSON unmarshaling in google.golang.org/protobuf
+description: |-
+    The protojson.Unmarshal function can enter an infinite loop when unmarshaling
+    certain forms of invalid JSON. This condition can occur when unmarshaling into a
+    message which contains a google.protobuf.Any value, or when the
+    UnmarshalOptions.DiscardUnknown option is set.
+references:
+    - fix: https://go.dev/cl/569356
+cve_metadata:
+    id: CVE-2024-24786
+    cwe: 'CWE-1286: Improper Validation of Syntactic Correctness of Input'