CVE-2026-82311: Flask Login Session User Id Type Mismatch

Flask-Login stores `_user_id` in session data as a string (via `User.get_id()`), whereas database user models typically define `id` as an integer column. Directly comparing `_user_id` with `user.id` without casting evaluates to False in Python 3, causing session revocation or lookup to silently fail. Cast both identifiers (e.g., `str(...)`) before comparing.

Provally CuratedPublic repositoryHighHigh confidenceVerifiedApache-2.0Python
greprules fetch cve-2026-82311-flask-login-session-user-id-type-mismatch --engine opengrep

Description

Flask-Login stores `_user_id` in session data as a string (via `User.get_id()`), whereas database user models typically define `id` as an integer column. Directly comparing `_user_id` with `user.id` without casting evaluates to False in Python 3, causing session revocation or lookup to silently fail. Cast both identifiers (e.g., `str(...)`) before comparing.