Commit Graph
6 Commits
Author SHA1 Message Date
Isaac Connor da04fd65aa fix: require auth for every ajax request regardless of view refs GHSA-vvw3-j4p4-4rgx
The ZM_OPT_USE_AUTH gate in index.php exempted view=login and view=none
so those pages can render without a session. The same condition also
guarded the ajax dispatcher, so view=none&request=<name> (or
view=login&request=<name>) reached web/ajax/<name>.php with no user.
ajax/stats.php's raw branch has no permission check of its own and
returned Events rows (Name, Cause, Notes, DiskSpace) joined with the
monitor name to anonymous clients.

Apply the login/none exemption only when there is no request, so any
request= without a user gets the 401. No ajax handler is meant to be
reached unauthenticated: login and logout are POST actions on views,
skin.js skips its polling on the login and none views, and the auth
revalidation probe already uses view=request and expects a 401/403 for
a dead session.

Also check canView('Events') at the top of ajax/stats.php, matching
getStatsTableHTML() used by its non-raw branch, so the raw branch no
longer depends on the gate alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 6699ae212ea8c5d7b9ee29f38c05c0135635fe8f)
2026-09-24 19:46:37 -04:00
IgorA100 1b9dc86869 % in frame statistics should be rounded to a decimal place.
When setting up analysis of small objects, it is useful to know the % value more precisely
2024-04-07 22:59:01 +03:00
Isaac Connor 79c45f50d5 define raw as an empty array so we don't generate js errors 2022-01-07 16:21:34 -05:00
Isaac Connor 224b34d69d Send all stats rows instead of just 1. Handle receiving all rows, and don't list event id and frame id 2021-10-29 18:54:23 -04:00
Andrew Bauer c24564e0cd insert frame stats into frame view 2020-12-13 13:20:26 -06:00
Andrew Bauer 1599bc4c14 load stats on deman via ajax 2020-09-13 07:32:49 -05:00