)]}'
{
  "commit": "d37c95e27de65576f42440cdfbc261d810506841",
  "tree": "ee7dd55b2956701227782d88bae503f9f247294b",
  "parents": [
    "e2ffffe738fb46531cd8924bab497bdc77d9ecc8"
  ],
  "author": {
    "name": "mohammadmseet-hue",
    "email": "mohammadmseet@gmail.com",
    "time": "Mon Apr 06 20:10:40 2026 +0000"
  },
  "committer": {
    "name": "Daniel McCarney",
    "email": "daniel@binaryparadox.net",
    "time": "Thu Jun 04 06:58:05 2026 -0700"
  },
  "message": "pkcs12: limit PBKDF iteration count to prevent CPU exhaustion\n\nThe PKCS#12 PBKDF iteration count is read directly from\nthe input file with no upper bound. A crafted 83-byte .p12\nfile can set iterations to 2^31-1 (2147483647), causing\nDecode() to block a CPU core permanently.\n\nThis change adds a maximum iteration limit of 1000000 in\nboth verifyMac and pbDecrypterFor. Any file that specifies\nmore iterations than this cap is rejected with an error.\n\nFor reference, OpenSSL caps PBKDF2 at 10000000 iterations,\nand scrypt is bounded by its memory-hardness parameters.\nThe 1000000 limit is generous for legitimate PKCS#12 files\nwhile still preventing denial of service.\n\nFixes golang/go#78524\n\nChange-Id: I1d12d6f5d90e347ca0dc113678abc51b0cff8d85\nGitHub-Last-Rev: a0370d492dd4735cc7c1bb082b359ad79863fdae\nGitHub-Pull-Request: golang/crypto#343\nReviewed-on: https://go-review.googlesource.com/c/crypto/+/759900\nReviewed-by: Daniel McCarney \u003cdaniel@binaryparadox.net\u003e\nReviewed-by: David Chase \u003cdrchase@google.com\u003e\nReviewed-by: Junyang Shao \u003cshaojunyang@google.com\u003e\nLUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "212538cb5a8714e623c46665a977cce7331f5b61",
      "old_mode": 33188,
      "old_path": "pkcs12/crypto.go",
      "new_id": "3f307323cc3971cf406643f07ed9ec2a3b60095b",
      "new_mode": 33188,
      "new_path": "pkcs12/crypto.go"
    },
    {
      "type": "modify",
      "old_id": "eb4dae8fceba54529e568c4f745d097dceed4082",
      "old_mode": 33188,
      "old_path": "pkcs12/crypto_test.go",
      "new_id": "29962ec60c844f8dba5b88655412e1cf9245030b",
      "new_mode": 33188,
      "new_path": "pkcs12/crypto_test.go"
    },
    {
      "type": "modify",
      "old_id": "5f38aa7de83ce0aabfe5d909eeb1128e94da6ab9",
      "old_mode": 33188,
      "old_path": "pkcs12/mac.go",
      "new_id": "84039cee1e5da952e0608687d4d24320780a27d2",
      "new_mode": 33188,
      "new_path": "pkcs12/mac.go"
    },
    {
      "type": "modify",
      "old_id": "1ed4ff21e14b398e301530dcabd135873012095b",
      "old_mode": 33188,
      "old_path": "pkcs12/mac_test.go",
      "new_id": "5d4a7ec380a5dd9bf7f6f89084ad035c7d3ec477",
      "new_mode": 33188,
      "new_path": "pkcs12/mac_test.go"
    }
  ]
}
