Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/abraxas/gitea-stargazers-hidden
ReconnaissanceAnalyse des VulnérabilitésCollecte d'InformationsSécurité WebTests d'IntrusionSécurité des APILabs et Pratique
GitHubabraxas/gitea-stargazers-hidden

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

gitea-stargazers-hidden

Preuve de concept et laboratoire pour une divulgation d'informations non authentifiée dans Gitea : l'API des stargazers et watchers divulgue des noms d'utilisateur que les endpoints de profil masquent.

Voir le dépôt
16il y a 7 joursPas encore vérifié
Partager

Abraxas Labs - gitea-stargazers-hidden

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  gitea-stargazers-hidden

Write-up : https://abraxaslabs.tech/research/gitea-stargazers-hidden

gitea-stargazers-hidden

Gitea 1.27.3 - Gitea

Les utilisateurs limités et privés sont censés disparaître pour les visiteurs anonymes. GetInfo leur renvoie déjà un 404. Les listes d'abonnés appliquent déjà isUserVisibleToViewerCond en SQL. GetStargazers est une jointure sur star sans filtre de visibilité. ListStargazers applique ensuite convert.ToUser à l'ensemble. ListSubscribers présente la même forme pour les watchers.

Sans se connecter, le JSON des stargazers d'un dépôt public nomme des utilisateurs que GET /users/{name} masque.

IDpas encore de CVE
CWECWE-200
CVSSMoyen : 5.3 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
ProduitGitea
Affectéjusqu'à v1.27.3 (146cc3e)
Authnon authentifié
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

Ce qu'un attaquant peut faire

Sans se connecter, lire les stargazers et les watchers d'un dépôt public et découvrir des noms d'utilisateur que GET /users/{name} masque. C'est de la reconnaissance sur des comptes limités et privés ayant mis une étoile ou suivi quelque chose de public : des personnes ayant réglé leur visibilité pour ne pas apparaître dans la recherche, puis ayant quand même cliqué sur l'étoile.

C'est un nom d'utilisateur, pas un e-mail, pas une lecture de dépôt privé, pas une RCE. Combiné à l'oracle Follow 204 vs 404, vous pouvez confirmer qu'un identifiant masqué existe même lorsque le profil renvoie 404.

Comment je l'ai trouvé

La visibilité était un thème de la vague de GHSA de la 1.27.3. Quand un produit renvoie volontairement un 404 sur un profil, la question suivante est de savoir quels endpoints de liste joignent encore user sans cette condition. Les étoiles et les watchers le font.

J'ai créé hidstar en tant que compte limité, il a mis une étoile et suivi un dépôt public, puis j'ai interrogé l'instance sans jeton. GET /api/v1/users/hidstar non authentifié renvoie 404. Le JSON des stargazers non authentifié inclut hidstar. Les watchers non authentifiés incluent hidstar. Le HTML des abonnés non authentifié ne l'inclut pas. Le profil est discret. La table des étoiles ne l'est pas.

Fausses pistes déjà consignées : GET /users/hidstar non authentifié renvoyant 200 (la visibilité est alors entièrement désactivée - le lab exige un 404) ; le HTML des abonnés listant hidstar (ce chemin applique déjà la condition) ; considérer un 200 sur /stargazers avec uniquement des noms publics comme un SUCCÈS ; un reverse shell. Du théâtre. La fuite, c'est l'identifiant limité dans le JSON.

Lab

cd lab
./run.sh

Ciblez uniquement http://127.0.0.1:18133. Compose autorise la visibilité public,limited,private et laisse les stars activées.

unauth-user-get status=404
unauth-stargazers status=200 stargazer-names=['hidstar']
unauth-watchers leak=True
unauth-followers-web limited-in-html=False
SUCCESS GITEA-STARGAZERS-HIDDEN

Le correctif

Appliquer isUserVisibleToViewerCond dans GetStargazers / GetRepoWatchers. Les stargazers et watchers non authentifiés doivent omettre hidstar de la même manière que les followers le font déjà.

Références

  • github.com/go-gitea/gitea tag v1.27.3
  • routeur star.go · modèle star.go · subscriber.go · GetInfo · GetUserFollowers
  • Même tag : gitea-follow-existence
  • CWE-200

Licence

GNU Affero GPL v3.0. Voir LICENSE. Laboratoire en boucle locale uniquement. Aucune garantie.

Télécharger l’outil