Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Security: Deleted content exposure + revision history IDOR via sequential IDs

Aperta
#1,506 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
go
Ambito
api, backend, security

Direzione di ricerca

Inizia con AnswerService.Get e GetObjectTimelineDetail per i due endpoint interessati, quindi confronta i relativi controlli di accesso con SearchList, GetRevisionList e GetQuestion. Traccia il modo in cui vengono caricate le domande, le risposte e le revisioni eliminate e in sospeso. Il lavoro è completato quando le risposte eliminate non sono più esposte agli utenti non autenticati e il contenuto delle revisioni eliminate o in sospeso non è più esposto agli utenti autenticati, mentre il contenuto consentito rimane accessibile.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

Two information disclosure issues allow access to deleted/pending content:

1. Deleted Answer Content via GET /answer/api/v1/answer/info (Low-Medium)

`AnswerService.Get()` calls `answerRepo.GetByID()` which fetches answers by raw ID with no `status != deleted` filter. Deleted answers are returned with full content to unauthenticated callers.

Secure comparison: `SearchList` correctly filters: `session.Where("status != ?", entity.AnswerStatusDeleted)`

2. Revision History IDOR via GET /answer/api/v1/activity/timeline/detail (Medium)

`GetObjectTimelineDetail` fetches revision content by sequential integer ID (`autoincr BIGINT`). No check for whether the associated question/answer is deleted or pending. Any authenticated user can enumerate `revision_id=1,2,3...` to read full content of deleted/pending questions and answers.

Secure comparison: `GetRevisionList` correctly checks `objInfo.IsDeleted()` before showing history. `GetQuestion` blocks access to deleted/pending content.

Impact
  • Bypasses content moderation (admin-deleted content remains accessible)
  • Reveals pending-review content before publication
  • Sequential revision IDs make enumeration trivial

Discovery

Found through automated security research comparing content visibility controls across endpoints.

Lingua principale
Go
Stelle
15.7k
Fork
1.4k
Merge medio
1g 20h
PR unite (30g)
6

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/answer

Tutte le issue di apache/answer

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.