April 27th – What happened with our feature flag configuration
Disclosures

27. dubna – Co se stalo s konfigurací našich funkčních příznaků

27. dubna 2026 bezpečnostní výzkumník veřejně oznámil, že konfigurace příznaků funkcí na straně klienta služby ClickUp odhalila osobní údaje. Konkrétně bylo do pravidel pro cílení příznaků funkcí vloženo 893 e-mailových adres zákazníků, a to spolu s jedním příznakem, který nesprávně odkazoval na API token zákazníka, který byl použit při řešení incidentu k omezení přenosové rychlosti z daného pracovního prostoru.

Měli jsme na to přijít dříve. Nestalo se tak, a proto vám dlužíme jasné vysvětlení toho, co se stalo, proč k tomu došlo, jaké kroky jsme v této věci již podnikli a jak se budeme v budoucnu zlepšovat.

Jste tím dotčeni?

Únik se týkal pouze 893 e-mailových adres zákazníků použitých v pravidlech pro cílení funkčních příznaků, která určují, kterým uživatelům se při zavádění nových funkcí zobrazí konkrétní funkce.

Pokud jste obdrželi přímou zprávu nejpozději 29. dubna (stále probíhá), vaše e-mailová adresa byla zahrnuta v konfiguraci funkčního příznaku. Pokud jste od nás žádnou zprávu neobdrželi, vaše e-mailová adresa nebyla na seznamu e-mailových adres.

  • Žádný obsah pracovního prostoru (úkoly, dokumenty, soubory ani projektová data) nebyl u žádného zákazníka odhalen – s jednou možnou výjimkou popsanou níže.
  • Nedošlo k úniku žádných hesel, fakturačních údajů ani přihlašovacích údajů k účtům.
  • Žádné systémy pro ověřování nebyly napadeny.

Technický problém

ClickUp využívá ke správě funkčních příznaků službu Split.io (nyní součást společnosti Harness). Stejně jako většina SDK pro příznaky funkcí na straně prohlížeče vyžaduje i Split.io klíč SDK na straně klienta zabudovaný do balíčku JavaScriptu aplikace. Tento klíč je záměrně veřejný a slouží k tomu, aby SDK vyhodnotilo příznaky pro aktuálního uživatele v prohlížeči. Jedná se o standardní a zdokumentované chování platné pro Split.io, LaunchDarkly a podobné platformy a nejde o zranitelnost.

Klíč není to podstatné. Důležité je to, co naši inženýři vložili do konfigurací vlajek.

Z architektonického hlediska se stalo následující: platformy pro správu funkčních příznaků umožňují vývojářům zacílit při zavádění nových funkcí na konkrétní uživatele. Inženýrské týmy ClickUp používaly e-mailové adresy přímo v pravidlech pro cílení příznaků. Příkladem je povolení funkce pro konkrétní skupinu beta testerů. Veřejně dotazovatelný endpoint splitChanges v SDK Split.io vrací úplnou sadu definic příznaků, včetně těchto pravidel pro cílení. To znamená, že kdokoli s klíčem na straně klienta (který je, jak již bylo řečeno, záměrně v našem frontendovém kódu) mohl tyto definice příznaků načíst a extrahovat z nich vložené e-mailové adresy.

Inženýři zacházeli s konfiguracemi příznaků jako s interními nástroji, ačkoli architektura SDK je ze své podstaty umožňuje veřejně vyhledávat. To vedlo k tomu, že se e-mailové adresy hromadily na místě, kde nikdy neměly být. Aktualizace příznaků funkcí vyžadují recenzi typu +1, podobně jako u kódu. Tento kontrolní krok však daný problém nezachytil.

Jediná výjimka – vlajka nastavená pro omezení rychlosti u jednoho zákazníka

Technik v pohotovostní službě, který řešil případ zneužití API, uvedl API token zákazníka v konfiguraci příznaku omezujícího rychlost za účelem regulace provozu, čímž jej potenciálně zpřístupnil prostřednictvím koncového bodu SDK. K tomu nemělo nikdy dojít: přihlašovací údaje do konfigurací příznaků nepatří. Token jsme okamžitě deaktivovali a podle dosavadního prošetření protokolů jsme nezaznamenali žádné známky neoprávněného přístupu nad rámec vlastního šetření výzkumníka. Žádné další tokeny zákazníků ani data pracovního prostoru nebyly přístupné a přímo spolupracujeme s tímto zákazníkem.

Co vyšlo najevo a co ne

NárokNáš závěr
Klíč SDK pevně zakódovaný v balíčkuJe to správné a záměrné. Takto fungují SDK pro příznaky funkcí na straně prohlížeče. Nejedná se o samotnou bezpečnostní chybu.
893 e-mailových adres zákazníků v pravidlech cílení podle vlajekÚdaje jsou platné v době zveřejnění zprávy. Všechny e-mailové adresy třetích stran byly odstraněny 28. dubna v 03:25 UTC.
Aktivní token API pro zákazníky v konfiguraci příznakůPotvrzeno. Přidáno 7. října 2025. Zrušeno 27. dubna 2026 v 12:05 UTC.
Právo k zápisu do služby Split.ioJe to správné a odpovídá to zamýšlenému chování. Telemetrické koncové body SDK prohlížeče (events/bulk, testImpressions) přijímají zápisy v rámci standardního chování SDK. Nejedná se o nesprávné nastavení ClickUp.
„Žádná nápravná opatření po dobu 15 měsíců“Nesprávné označení; data jsou správná. Původní zpráva o odměně za nalezení chyby ze dne 17. ledna 2025 týkající se klíče SDK nevedla k zadání technického úkolu, protože samotný klíč není zranitelností. Skutečným problémem byly e-mailové adresy a konfigurace příznaků, které v této původní zprávě nebyly uvedeny. Konfigurace příznaků byly společnosti HackerOne sděleny až 8. dubna 2026 a společnosti ClickUp byly známy až 27. dubna 2026.

Časová osa

Zavázali jsme se k naprosté transparentnosti ohledně toho, kde došlo k selhání našich procesů, včetně selhání ze strany našeho externího poskytovatele programu odměn za nalezení chyb a našich vlastních interních komunikačních nástrojů.

DatumAkce
17. ledna 2025Výzkumník nahlásil únik klíče SDK služby Split.io do našeho programu odměn za nalezení chyb na platformě BugCrowd. Vzhledem k obsahu hlášení byl tento případ platformami BugCrowd a ClickUp správně označen jako informativní.
3. června 2025ClickUp přesouvá program odměn za nalezení chyb na platformu HackerOne. Všechny dosavadní hlášení byla úspěšně převedena, včetně výše uvedeného problému.
8. dubna 2026Výzkumník vystupující pod přezdívkou „impulsive“ zveřejnil na platformě HackerOne novou podrobnou zprávu, v níž popisuje rozsáhlý dopad incidentu: v pravidlech pro označování cílů bylo nalezeno 893 e-mailových adres zákazníků, aktivní API token zákazníka a další provozní data.
10. dubna 2026Analytik služby HackerOne při třídění hlášení nesprávně uzavřel dané hlášení jako duplikát hlášení z ledna 2025, přičemž přehlédl, že nové hlášení popisuje podstatně odlišný a rozsáhlejší dopad. Při dalším přezkoumání jsme zjistili další dva případy, kdy byla podobná hlášení nesprávně uzavřena – jedno dne 6. září 2025 a druhé dne 1. ledna 2026.
21. dubna 2026Výzkumník se proti tomuto uzavření ohradil a poskytl platformě HackerOne další podrobnosti.
25. dubna 2026Výzkumník přistoupil k radikálnějším krokům: poslal e-mail generálnímu řediteli společnosti ClickUp a na adresu security@clickup.com a zaslal společnosti ClickUp soukromou zprávu na platformě X, v nichž stanovil termín zveřejnění na 2. května. Tyto e-maily adresované generálnímu řediteli společnosti ClickUp a na adresu security@ byly zachyceny spamovými filtry a k adresátům se nedostaly. Soukromé zprávy zaslané společnosti ClickUp na platformě X byly automaticky odfiltrovány a nebyly přečteny.
27. dubna 2026 ~ 10:42 UTCVýzkumník zveřejňuje informace na platformě X.
27. dubna 2026, 11:06 UTCSpolečnost ClickUp je o situaci informována. Incident je nahlášen. Spouští se proces reakce na incident a byl zahájen proces obměny API tokenu zákazníka.
27. dubna 2026, 12:53–14:12 UTCPrvní úklid vlajek rozdělených mezi jednotlivé technické týmy.
27. dubna 2026 ~ 17:00 UTCByl dokončen plně automatizovaný audit všech 4 809 funkčních příznaků.
27. dubna 2026, 23:13 UTCTechnici z ClickUp a Harness (Split) projednávají technické detaily.
28. dubna 2026, 03:25 UTCVšechny e-mailové adresy zákazníků byly z konfigurací příznaků odstraněny. Poznámka: některé e-mailové adresy třetích stran zůstávají záměrně ve dvou příznacích; souvisí to s podvodným používáním.

V čem náš postup selhal

Zde došlo ke třem problémům a chceme je všechny jasně pojmenovat. O změnách si povíme v následující části.

1. Chybělo následné zpracování původní zprávy. Zpráva o odměně za nalezení chyby z ledna 2025 mohla vést k zadání technického úkolu a k prověření, jaká data se nacházela v konfiguracích příznaků. To se však nestalo. Aktualizujeme náš proces třídění, abychom zabránili tomu, aby se to v budoucnu opakovalo.

2. Společnost HackerOne nesprávně vyřídila uzavření případu jako duplicitu. Zpráva z dubna 2026 dokumentovala podstatně nový dopad ve srovnání se zprávou z ledna 2025. Společnost HackerOne ji neměla uzavřít jako duplicitu. Při dalším přezkoumání jsme identifikovali další dva případy uzavření podobných zpráv – jeden ze dne 6. září 2025 a jeden ze dne 1. ledna 2026. Spolupracujeme s HackerOne na odstranění nedostatků v jejich procesech třídění. Budeme provádět sekundární přezkoumání všech zpráv HackerOne, abychom se ujistili, že v budoucnu nebudeme závislí na procesech třetích stran.

3. Naše e-mailová služba označila zprávu od výzkumníka jako spam. V sobotu 25. dubna zaslal výzkumník e-mail našemu generálnímu řediteli i na adresu security@clickup.com a poslal soukromou zprávu na účet ClickUp na platformě X.

Tyto e-maily jsme objevili až po zveřejnění příspěvku na platformě X. Byly nalezeny v rámci interního šetření zaměřeného na složky se spamem a filtrování soukromých zpráv na platformě X.

Aktualizujeme naše procesy filtrování e-mailů a kontroly spamu, abychom zajistili, že příchozí zprávy související s bezpečností nebudou bez upozornění vyřazeny.

Žádná z těchto skutečností však neomlouvá hlavní problém: údaje o zákaznících tam vůbec neměly být.

Co jsme udělali

Okamžitě (dokončeno)

  • Zrušili jsme platnost odhaleného API tokenu zákazníka.
  • Z konfigurací funkčních příznaků byly odstraněny všechny e-mailové adresy zákazníků.
  • Byla vydána směrnice pro celé technické oddělení, která zakazuje uvádění osobních údajů nebo přihlašovacích údajů v konfiguracích příznaků.
  • Provedli jsme kompletní audit všech funkčních příznaků týkajících se osobních údajů, přihlašovacích údajů a citlivých dat.

Krátkodobé (v průběhu)

  • Aktualizovali jsme pravidla pro filtrování e-mailů, aby adresa security@clickup.com zobrazovala veškerou příchozí komunikaci týkající se bezpečnosti, a přidali jsme krok, který umožňuje (bezpečně) zkontrolovat zprávy označené jako spam.
  • Přezkoumání postupů při třídění hlášení v rámci programu odměn za nalezení chyb (bug bounty) ve spolupráci s HackerOne s cílem zabránit nesprávnému uzavření platných hlášení.
  • Školení osob provádějících kontrolu funkčních příznaků ohledně toho, jaký obsah je povolen.

Dlouhodobý

  • Automatické prohledávání všech konfigurací funkčních příznaků za účelem odhalení vzorců osobních údajů (e-mailové adresy, tokeny, klíče API) při každé změně příznaku, včetně vynucení blokování.
  • Automatizovaný proces a nástroje pro kontrolu všech rozhodnutí o třídění hlášení na platformě HackerOne.
  • Zaveďte proxy nebo technické opatření k oddělení příznaků front-endu a back-endu.

Poznámka k autorovi

Jakmile společnost ClickUp navázala kontakt s výzkumníkem, který tuto informaci zveřejnil pod přezdívkou impulsive / @weezerOSINT, zachovala se zodpovědně a poskytla všechny požadované informace.

Výzkumník, vystupující pod přezdívkou impulsive / @weezerOSINT, podal hlášení prostřednictvím řádných kanálů (HackerOne, následně přímým e-mailem na adresu security@clickup.com a našemu generálnímu řediteli) a po navázání kontaktu s námi jednal konstruktivně. Naše interní procesy však nedokázaly včas zachytit jeho hlášení a následné eskalace.

Po spolupráci s výzkumníkem obdržela společnost ClickUp 28. dubna v 1:47 UTC následující zprávu: „Díky, [ClickUp], opravdu si vážím toho, jak rychle jste na to zareagovali. To se často nevidí a je to znát.“

Společnost ClickUp odměňuje tohoto výzkumníka za jeho zjištění v rámci programu odměn za nalezení chyb. Ostatní výzkumníky vybízíme, aby se zapojili do našeho programu odměn za nalezení chyb, nahlásili chyby zodpovědným způsobem prostřednictvím našeho programu pro oznamování zranitelností nebo přímo e-mailem na adresu security@clickup.com.

Shrnutí

Rozsah dat, která byla při tomto incidentu odhalena, byl omezen na 893 e-mailových adres – obsah pracovního prostoru, hesla ani fakturační údaje žádného zákazníka nebyly dotčeny, s výjimkou jediného zákazníka zmíněného výše – s tímto zákazníkem přímo spolupracujeme, abychom ověřili, že k jeho klíči nedošlo k neoprávněnému přístupu.

Našim zákazníkům se za tuto situaci hluboce omlouváme a uděláme vše, co je v našich silách, aby se něco podobného již neopakovalo.

Tento příspěvek aktualizujeme, jakmile se objeví nové informace. Máte-li nějaké dotazy, kontaktujte nás na adrese security@clickup.com.