From 2ae6a9bb98f58b2a825007365e57677036b56fc9 Mon Sep 17 00:00:00 2001 From: Bennett <35474536+BGebken@users.noreply.github.com> Date: Thu, 2 Apr 2026 23:38:14 -0400 Subject: [PATCH] fix: bump handlebars to 4.7.9 (CVE-2026-33937) (#19288) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Bumps `handlebars` from `^4.7.8` to `^4.7.9` in `packages/twenty-shared` ## Why - **CVE-2026-33937** — Prototype pollution via crafted template input - **GHSA-2w6w-674q-4c4q** — Related handlebars security advisory - Severity: **Critical** (CVSS 9.8) - Detected by Trivy and Grype scanning `twentycrm/twenty:v1.20.0` ## What changed - `packages/twenty-shared/package.json`: `"handlebars": "^4.7.8"` → `"^4.7.9"` - `yarn.lock`: updated accordingly ## Impact `handlebars` is used in `packages/twenty-shared` for template evaluation. The fix patches the prototype pollution vector without any API changes. ## Test plan - [ ] `yarn build` passes - [ ] `yarn test` passes in twenty-shared - [ ] Template evaluation works as before --------- Co-authored-by: Claude Opus 4.6 Co-authored-by: Abdullah <125115953+mabdullahabaid@users.noreply.github.com> --- packages/twenty-shared/package.json | 2 +- yarn.lock | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/packages/twenty-shared/package.json b/packages/twenty-shared/package.json index b1172f9502..9ffa195e1a 100644 --- a/packages/twenty-shared/package.json +++ b/packages/twenty-shared/package.json @@ -32,7 +32,7 @@ "@sniptt/guards": "^0.2.0", "class-validator": "^0.14.0", "expr-eval-fork": "3.0.3", - "handlebars": "^4.7.8", + "handlebars": "^4.7.9", "libphonenumber-js": "^1.10.26", "lodash.camelcase": "^4.3.0", "qs": "^6.11.2", diff --git a/yarn.lock b/yarn.lock index 2f6a7a0344..ea9918eb0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -40360,7 +40360,25 @@ __metadata: languageName: node linkType: hard -"handlebars@npm:*, handlebars@npm:4.7.8, handlebars@npm:^4.7.7, handlebars@npm:^4.7.8": +"handlebars@npm:*, handlebars@npm:^4.7.7, handlebars@npm:^4.7.9": + version: 4.7.9 + resolution: "handlebars@npm:4.7.9" + dependencies: + minimist: "npm:^1.2.5" + neo-async: "npm:^2.6.2" + source-map: "npm:^0.6.1" + uglify-js: "npm:^3.1.4" + wordwrap: "npm:^1.0.0" + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 10c0/22f8105a7e68e81aff2662bb434edf05f757d21d850731d71cec886d69c10cd33d3c43e34b2892968ec62de8241611851d3d0674c8ef324ea3e01dc66262faa9 + languageName: node + linkType: hard + +"handlebars@npm:4.7.8": version: 4.7.8 resolution: "handlebars@npm:4.7.8" dependencies: @@ -60186,7 +60204,7 @@ __metadata: class-validator: "npm:^0.14.0" expr-eval-fork: "npm:3.0.3" glob: "npm:^11.1.0" - handlebars: "npm:^4.7.8" + handlebars: "npm:^4.7.9" libphonenumber-js: "npm:^1.10.26" lodash.camelcase: "npm:^4.3.0" qs: "npm:^6.11.2"