Critical · published November 18, 2025
🔥 Just imagine logging out of your account, only for your session to keep going like nothing happened! This vulnerability is like a restaurant that forgets to cancel your reservation after you leave — the table is still yours, even though you've walked out. Anyone with a copy of the reservation can just stroll back in and sit down! An attacker with access to a compromised JWT token could exploit this oversight, gaining unauthorized access to sensitive parts of your Wiki.js system. This could lead to data breaches, manipulation of content, or even worse! It's absolutely devastating for session integrity and privacy.
This vulnerability is like a restaurant that forgets to cancel your reservation after you leave — the table is still yours, even though you've walked out. Anyone with a copy of the reservation can just stroll back in and sit down! The issue lies within the authentication resolver logic of Wiki.js 2.5.307, which fails to properly revoke or invalidate JWT tokens upon user logout. This flaw affects both the GraphQL endpoint and the logout mechanism, allowing previously issued tokens to remain valid after logout.
An attacker with access to a compromised JWT token could exploit this oversight, gaining unauthorized access to sensitive parts of your Wiki.js system. This could lead to data breaches, manipulation of content, or even worse! It's absolutely devastating for session integrity and privacy. To secure your system, update Wiki.js to version 2.5.308 or later immediately. Additionally, consider implementing stricter session management practices, such as token invalidation or short-lived sessions to limit exposure. You've got this! Fixing this vulnerability will make your environment much safer. 🛡️