| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| e107_v2.x_to_2.3.5_upgrade.zip | 2026-05-18 | 12.2 MB | |
| e107_v2.x_to_2.3.5_upgrade.tar.xz | 2026-05-18 | 8.3 MB | |
| e107_v2.x_to_2.3.5_upgrade.tar.gz | 2026-05-18 | 11.4 MB | |
| e107_v1.x_to_2.3.5_upgrade.zip | 2026-05-18 | 14.8 MB | |
| e107_v1.x_to_2.3.5_upgrade.tar.xz | 2026-05-18 | 10.2 MB | |
| e107_v1.x_to_2.3.5_upgrade.tar.gz | 2026-05-18 | 13.6 MB | |
| e107_2.3.5_full.zip | 2026-05-18 | 14.7 MB | |
| e107_2.3.5_full.tar.xz | 2026-05-18 | 10.2 MB | |
| e107_2.3.5_full.tar.gz | 2026-05-18 | 13.6 MB | |
| e107 v2.3.5 source code.tar.gz | 2026-05-18 | 15.7 MB | |
| e107 v2.3.5 source code.zip | 2026-05-18 | 17.0 MB | |
| README.md | 2026-05-18 | 2.9 kB | |
| Totals: 12 Items | 141.7 MB | 0 | |
[!CAUTION] v2.3.5 is a security release for sites on v2.3.4 or earlier. Upgrade from v2.3.4 or earlier 2.x. If your site tracks the
masterbranch, you are already past v2.3.5, so installing it would be a downgrade. v2.4.x is planned to be the next forward step.[!IMPORTANT] v2.3.5 ships a single fix for a CSRF vulnerability in the AJAX comment moderation endpoints. Sites that allow user comments and have at least one logged-in moderator or admin should upgrade promptly.
Highlights
- [Security] CSRF on AJAX comment moderation (GHSA-m4hh-m278-jwg5). The AJAX
delete,approve, andeditbranches incomment.phppreviously executed when only the payload and theADMINgate were present, so a cross-origin POST without ane-tokenwould still go through. A logged-in moderator visiting an attacker page could be made to block, approve, or edit comments without their knowledge. The endpoints now reject any mutation request that lacks a valid form token, and the front-end UI threads the token through the delete/approve/edit anchors so legitimate clicks keep working. (https://github.com/e107inc/e107/commit/a46a77a6)
For Administrators
Changed
- AJAX comment moderation (security).
/comment.php?mode=delete,?mode=approve, and?mode=editnow return{"msg":"Unauthorized access!","error":true}when the request omits or fails thee-tokencheck. The shipped front-end UI was updated in lockstep, so this is transparent for legitimate use. If you maintain a custom theme that replaces the comment-options or comment-edit shortcodes, see the developer note below. Ref: GHSA-m4hh-m278-jwg5. (https://github.com/e107inc/e107/commit/a46a77a6)
For Developers
Changed
- Comment-options shortcodes now emit
data-token.comment_shortcodes::sc_comment_delete()and the comment-edit anchor render adata-tokenattribute populated frome_TOKEN. The corresponding handlers infront.jquery.jsread it back and includee-tokenin the AJAX payload. If you ship a fork of these shortcodes or a custom AJAX client that talks to/comment.php, mirror the change — without it your delete/approve/edit calls will be rejected. Ref: GHSA-m4hh-m278-jwg5. (https://github.com/e107inc/e107/commit/a46a77a6)
Token enforcement is local to comment.php for now. The central session_handler::check() still only validates the token when one is present. If you add new AJAX mutation branches to comment.php or to similar endpoints, guard them explicitly with e107::getSession()->checkFormToken($_POST['e-token']) until the central gate is tightened.