Download Latest Version juice-shop-20.1.1_node26_darwin_x64.zip (130.5 MB)
Email in envelope

Get an email when there's a new version of OWASP Juice Shop

Home / v20.1.0
Name Modified Size InfoDownloads / Week
Parent folder
juice-shop-20.1.0_node22_win32_x64.zip 2026-06-23 127.5 MB
juice-shop-20.1.0_node22_win32_x64.zip.md5 2026-06-23 32 Bytes
juice-shop-20.1.0_node24_darwin_x64.zip 2026-06-23 135.1 MB
juice-shop-20.1.0_node24_darwin_x64.zip.md5 2026-06-23 32 Bytes
juice-shop-20.1.0_node24_linux_x64.tgz 2026-06-23 102.8 MB
juice-shop-20.1.0_node24_linux_x64.tgz.md5 2026-06-23 32 Bytes
juice-shop-20.1.0_node22_linux_x64.tgz 2026-06-23 102.8 MB
juice-shop-20.1.0_node22_linux_x64.tgz.md5 2026-06-23 32 Bytes
juice-shop-20.1.0_node22_darwin_x64.zip 2026-06-23 135.0 MB
juice-shop-20.1.0_node22_darwin_x64.zip.md5 2026-06-23 32 Bytes
README.md 2026-06-23 1.6 kB
v20.1.0 source code.tar.gz 2026-06-23 17.1 MB
v20.1.0 source code.zip 2026-06-23 17.7 MB
Totals: 13 Items   638.0 MB 4

👟 Runtime

  • Added support for Node.js 26.x
  • Replaced native libxmljs2 with WASM-based libxml2-wasm to remove native build dependency

🎯 Challenges

  • Added ⭐⭐⭐-challenge: System Prompt Extraction (prompt injection against chatbot) (kudos to @JohannesR0essler)
  • Added "Fix It"-phase for NFT Takeover coding challenge

🎨 UI

  • Fixes heading overflow into product table by adjusting padding

🅰️ Frontend

  • Refactored Scoreboard to use Angular Signals for improved performance
  • Upgraded Cypress to v15

🐳 Docker

  • Optimized encoding of some more pictures and videos to bring down the size of the container image down even more than before

🐛 Bugfixes

  • [#1788]: Fixes issue preventing (properly) forged JWTs from being accepted in some endpoints
  • [#3433]: Fixes some translation string from being properly displayed
  • d95b385dccd031a7b69782e70c1670867836759a: Fixes welcome banner from not being properly scrollable & dismissable on certain mobile screen sizes

🧹 Housekeeping

  • Migrated server unit tests from Mocha & Chai to the Node.js test runner
  • Upgraded TypeScript to v6
  • Rewrote ZIP upload handler to use async/await and updated unzipper library
  • Replaced FormSubmitService with native form submission in frontend

🔧 Configuration

  • Migrated configuration validation from YAML schema to zod
  • Added overwriteUrlForCsrfChallenge option to allow customizing the attack origin for the CSRF challenge

🌐 I18N

  • Updated various translations
Source: README.md, updated 2026-06-23