HireFlow w wersji 1.2 i wcześniejszych zawiera twarde zakodowany (hard-coded) klucz tajny Flask używany do podpisywania ciasteczek sesji. Podatność umożliwia nieuwierzytelnionemu atakującemu sfałszowanie ciasteczka sesji z uprawnieniami administratora i całkowite ominięcie mechanizmu uwierzytelniania.
▸ Pokaż oryginał (EN)
HireFlow is a web-based interview management system for managing candidates, scheduling interviews, and tracking hiring progress. In 1.2 and earlier, app.py assigns a hard-coded Flask secret_key used to sign session cookies, allowing unauthenticated attackers who know the public source value to forge cookies containing role=admin and user_id values and bypass authentication. The advisory lists version 1.3 as fixed.
Aplikacja HireFlow (plik app.py) używa statycznej, publicznie dostępnej wartości jako secret_key we frameworku Flask. Ciasteczka sesji w Flask są podpisywane kryptograficznie przy użyciu tego klucza — znając jego wartość, atakujący może samodzielnie wygenerować poprawnie podpisane ciasteczko zawierające dowolne wartości, np. role=admin oraz wybrany user_id. Ponieważ klucz jest znany (osadzony w publicznym kodzie źródłowym), każdy atakujący może stworzyć sfałszowane ciasteczko, które aplikacja zaakceptuje jako prawidłowe, bez potrzeby posiadania jakichkolwiek poświadczeń.
Atakujący może uzyskać pełny dostęp do aplikacji z uprawnieniami administratora, co pozwala na przeglądanie, modyfikację i usuwanie danych kandydatów oraz procesu rekrutacji, a w konsekwencji na całkowite przejęcie kontroli nad systemem zarządzania rekrutacją.
Należy zaktualizować HireFlow do wersji 1.3, która zawiera poprawkę wskazaną przez producenta. Wersja 1.3 dostępna jest pod adresem: https://github.com/StratonWebDesigners/HireFlow/releases/tag/v1.3
HireFlow w wersji 1.2 i wcześniejszych
Podatność sklasyfikowana jako CWE-798 (Use of Hard-coded Credentials). Klucz tajny jest osadzony w publicznym kodzie źródłowym repozytorium, co oznacza, że jego wartość jest powszechnie dostępna bez konieczności przeprowadzania jakiejkolwiek analizy binarnej.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:L