MyTube heeft niet-geauthenticeerde accountvergrendeling via gedeelde aanmeldingspogingstatus
Platform
other
Component
mytube
Opgelost in
1.8.72
MyTube is een zelf-gehoste downloader en speler voor verschillende videowebsites. Voor versie 1.8.72 kan een niet-geauthenticeerde aanvaller beheerder- en bezoekersaccounts vergrendelen voor wachtwoordgebaseerde authenticatie door mislukte aanmeldingspogingen te activeren. De applicatie toont drie wachtwoordverificatie-endpoints, die allemaal publiekelijk toegankelijk zijn. Alle drie de endpoints delen een enkele, op een bestand gebaseerde, aanmeldingspogingstatus die is opgeslagen in `login-attempts.json`. Wanneer een endpoint een mislukte authenticatiepoging registreert via `recordFailedAttempt()`, wordt de gedeelde aanmeldingspogingstatus bijgewerkt, waardoor de `failedAttempts`-teller wordt verhoogd en de bijbehorende tijdstempels en cooldown-waarden worden aangepast. Voordat een wachtwoord wordt geverifieerd, roept elk endpoint `canAttemptLogin()` aan. Deze functie controleert het gedeelde JSON-bestand om te bepalen of een cooldown-periode actief is. Als de cooldown niet is verlopen, wordt het verzoek afgewezen voordat het wachtwoord wordt gevalideerd. Omdat de teller voor mislukte pogingen en de cooldown-timer globaal worden gedeeld, hebben mislukte authenticatiepogingen tegen een endpoint invloed op alle andere endpoints. Een aanvaller kan dit misbruiken door herhaaldelijk ongeldige authenticatieverzoeken naar een van deze endpoints te sturen, incr
Hoe te verhelpen
Geen officiële patch beschikbaar. Zoek naar tijdelijke oplossingen of monitor updates.
Bewaak uw afhankelijkheden automatisch
Ontvang meldingen wanneer nieuwe kwetsbaarheden uw projecten beïnvloeden.
Gratis beginnen