caterium-app/tests
pavlov346346-source 0fc359dda6
Some checks failed
Caterium QA / qa (push) Failing after 8m6s
fix: harden inline handlers against id injection, fix stale version label
Inline handlers built as onclick="fn('${esc(id)}')" were injectable:
esc() turns ' into ', which the browser decodes back to ' before
the JS runs, so an id like x');alert(1);// broke out of the string.
Ids can come from a restored backup file or a synced catalog. Add
SunSafe.jsArg (JSON.stringify + HTML escape) and use it in all 24
handlers across app-runtime.js and index.html, including the new
banquet-menu ones. Verified locally: an id containing a JS payload
is passed through as a plain string and nothing executes.

Also replace the Settings version label that still showed
v17.6.0 · 2026.09.07 with the current release, and bump the script
cache-busting string so the fix reaches browsers.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 12:24:36 +03:00
..
app.spec.mjs Caterium v17.7.3 — clients server read 2026-09-09 12:07:37 +03:00
auth-security-v1774.mjs Security: require verified email for signup 2026-09-11 07:27:37 +03:00
branding-v1774.mjs test: guard Caterium visible branding 2026-09-11 10:03:35 +03:00
edge-security-v1774.mjs fix: reconcile version/test drift from the unreviewed production merge 2026-09-12 14:40:22 +03:00
employee-create-v1774.mjs test: enforce owner-only employee roles 2026-09-12 08:53:42 +03:00
html-integrity-v1774.mjs Fix malformed style boundary and guard HTML integrity 2026-09-11 07:41:42 +03:00
order-enhancements-v1775.mjs test: remove reminder requirements from order enhancements 2026-09-11 15:21:32 +03:00
playwright.config.mjs Caterium v17.6.0 - GitHub Cloudflare autodeploy 2026-09-07 15:29:20 +03:00
release-check.mjs fix: harden inline handlers against id injection, fix stale version label 2026-09-20 12:24:36 +03:00
static-security.mjs fix: harden inline handlers against id injection, fix stale version label 2026-09-20 12:24:36 +03:00