CVE-2026-38566
WysokieStreszczenie
HireFlow w wersji 1.2 nie implementuje walidacji tokenów CSRF na żadnym z punktów końcowych zmieniających stan. Wszystkie formularze są podatne na ataki CSRF, co pozwala atakującemu na zmianę hasła ofiary, usunięcie rekordów lub wstrzyknięcie dowolnych danych.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do przejęcia kontroli nad kontem użytkownika, co prowadzi do poważnych naruszeń danych i utraty zaufania do systemu.
Rekomendacja
Zaleca się wdrożenie walidacji tokenów CSRF na wszystkich punktach końcowych oraz skonfigurowanie atrybutu SESSION_COOKIE_SAMESITE, aby zwiększyć bezpieczeństwo aplikacji.
Inne podatności w HireFlow v1.2
Zobacz wszystkie- CVE-2026-38568Wysokie
HireFlow v1.2 jest podatny na błędne zarządzanie dostępem. Aplikacja nie wymusza autoryzacji na poziomie obiektów dla punktów końcowych /candidate/<id> oraz /interview/<id>, co pozwala na dostęp do danych innych użytkowników.
- CVE-2026-45336Krytyczne
HireFlow w wersji 1.2 i wcześniejszych używa zakodowanego na stałe klucza secret_key Flask do podpisywania ciasteczek sesji. Znając tę wartość (dostępną publicznie w kodzie źródłowym), nieuwierzytelniony atakujący może sfałszować ciasteczka z rolą admin i dowolnym user_id, co pozwala ominąć uwierzytelnianie.
- CVE-2026-38567Krytyczne
HireFlow v1.2 jest podatny na atak typu SQL injection w punktach końcowych /login i /search. Wprowadzone przez użytkownika dane są bezpośrednio łączone z zapytaniami SQL bez parametryzacji.
Oryginalny opis (angielski, źródło NVD)
HireFlow v1.2 does not implement CSRF token validation on any state-changing POST endpoint. All forms (password change at /profile, candidate deletion at /candidates/delete/<id>, feedback submission at /feedback/add/<id>, interview scheduling at /interviews/add) are vulnerable to CSRF. An attacker who can trick an authenticated user into visiting a malicious page can silently change the victim's password, delete records, or inject arbitrary data on their behalf. The SESSION_COOKIE_SAMESITE attribute is also not configured, removing the browser-level CSRF defense.

