2026. április 27-én egy biztonsági kutató nyilvánosságra hozta, hogy a ClickUp kliensoldali funkciójelző-konfigurációja személyes adatokat tett közzé. Pontosabban 893 ügyfél e-mail-címét ágyazták be a funkciójelző-célzási szabályokba, valamint egy olyan jelzőt is, amely helytelenül hivatkozott egy ügyfél API-tokénjére, amelyet egy incidenskezelés során használtak az adott munkaterületről érkező forgalom korlátozására.
Ezt hamarabb észre kellett volna vennünk. Nem tettük meg, ezért tartozunk Önöknek egy egyértelmű magyarázattal arról, hogy mi történt, miért, mit tettünk az ügyben, és hogyan fogunk javítani a jövőben.
Ön is érintett?
Az adatvédelmi incidens kizárólag 893 ügyfél e-mail-címét érintette, amelyeket a funkciójelző-célzási szabályokban használtak annak szabályozására, hogy a bevezetés során mely felhasználók láthassák az egyes funkciókat.
Ha április 29-ig (beleértve) kaptál tőlünk közvetlen üzenetet, akkor az e-mail címed szerepelt a funkciójelző-konfigurációban. Ha nem kaptál tőlünk üzenetet, akkor az e-mail címed nem szerepelt a címlistában.
- Egyetlen ügyfél esetében sem került nyilvánosságra munkaterületi tartalom (feladatok, dokumentumok, fájlok vagy projektadatok) – egy lehetséges kivételtől eltekintve, amelyet az alábbiakban ismertetünk.
- Jelszavak, számlázási adatok vagy fiókbejelentkezési adatok nem kerültek nyilvánosságra.
- Egyetlen hitelesítési rendszer sem került veszélybe.
A műszaki probléma
A ClickUp a Split.io-t (amely ma már a Harness része) használja a funkciójelzők kezelésére. A legtöbb böngészőoldali funkciójelző SDK-hoz hasonlóan a Split.io is megköveteli, hogy egy kliensoldali SDK-kulcs legyen beágyazva az alkalmazás JavaScript-csomagjába. Ez a kulcs szándékosan nyilvános, és ez alapján értékeli az SDK a böngészőben az aktuális felhasználó számára a jelzőket. Ez a Split.io, a LaunchDarkly és hasonló platformok esetében dokumentált, szabványos viselkedés, és nem jelent biztonsági rést.
Nem a kulcs a lényeg. Hanem az, amit a mérnökeink a zászlókonfigurációkba építenek.
A rendszer felépítését tekintve a következő történt: a funkciójelző-platformok lehetővé teszik a fejlesztők számára, hogy a funkciók bevezetésekor meghatározott felhasználókat célozzanak meg. A ClickUp mérnöki csapatai közvetlenül az e-mail címeket használták a zászló célzási szabályaiban. Például egy funkciót egy meghatározott bétatesztelői csoport számára engedélyeztek. A Split.io SDK nyilvánosan lekérdezhető splitChanges végpontja a zászlódefiníciók teljes készletét adja vissza, beleértve ezeket a célzási szabályokat is. Ez azt jelenti, hogy bárki, aki rendelkezik a kliensoldali kulccsal (amely, ismétlem, szándékosan szerepel a frontend kódunkban), lekérheti ezeket a zászlódefiníciókat, és kivonhatja belőlük a beágyazott e-mail címeket.
A fejlesztők a flag-konfigurációkat belső eszközként kezelték, holott az SDK architektúrája alapvetően nyilvánosan lekérdezhetővé teszi azokat. Ezért halmozódtak fel az e-mail címek olyan helyen, ahol soha nem lett volna szabad. A feature flag-ek frissítéséhez – a kódhoz hasonlóan – +1-es szintű szakértői ellenőrzés szükséges. Ez a ellenőrzési lépés azonban nem vette észre a problémát.
Az egyetlen kivétel – egy adott ügyfél sávszélesség-korlátozására beállított zászló
Az API-visszaélésekre reagáló ügyeletes mérnök a forgalom korlátozása érdekében egy ügyfél API-tokent adott meg a sebességkorlátozó beállításokban, ami miatt az SDK-végponton keresztül potenciálisan olvashatóvá vált. Ennek soha nem lett volna szabad megtörténnie: a hitelesítő adatoknak nincs helyük a beállítási konfigurációkban. A tokent azonnal letiltottuk, és jelenleg a naplóelemzésünk nem mutatja, hogy a kutató saját vizsgálatán kívül bármilyen rosszindulatú hozzáférés történt volna. Más ügyféltokenekhez vagy munkaterületi adatokhoz nem volt hozzáférés, és közvetlenül együttműködünk ezzel az ügyféllel.
Mi derült ki, és mi nem
| Kérelmezés | Megállapításunk |
| Az SDK-kulcs be van építve a csomagba | Ez helyes és szándékos. A böngészőoldali funkciójelző SDK-k így működnek. Ez önmagában nem jelent biztonsági rést. |
| 893 ügyfél e-mail címe a zászlóalapú célzási szabályokban | A jelentés elkészítésének időpontjában helyes. Minden harmadik fél e-mail-címét 2023. április 28-án 03:25 UTC-kor eltávolítottuk. |
| Élő ügyfél-API-token a flag-konfigurációban | Megerősítve. Hozzáadva: 2025. október 7. Érvénytelenítve: 2026. április 27., 12:05 UTC. |
| Írási hozzáférés a Split.io-hoz | Ez helyes és a tervezésnek megfelelő. A böngésző SDK telemetriai végpontjai (events/bulk, testImpressions) a szokásos SDK-működés részeként fogadják az írási műveleteket. Ez nem a ClickUp helytelen beállítása. |
| „15 hónapig nincs helyreállítás” | Helytelen leírás; a dátumok helyesek. Az SDK-kulcsról szóló, 2025. január 17-i eredeti bug bounty jelentés nem eredményezett mérnöki feladatot, mivel a kulcs önmagában nem jelent sebezhetőséget. Az e-mail címek és a flag konfigurációk jelentették a tényleges problémát, és ezek nem szerepeltek az eredeti jelentésben. A flag konfigurációkat 2026. április 8-ig nem hozták nyilvánosságra a HackerOne felé, és a ClickUp számára is csak 2026. április 27-én váltak ismertté. |
Idővonal
Elkötelezettek vagyunk amellett, hogy teljes mértékben átláthatóan tájékoztassunk arról, hol történtek hibák a folyamatainkban, beleértve a külső hibajelentési programunk szolgáltatójának és a saját belső kommunikációs eszközeinknek a hibáit is.
| Dátum | Esemény |
| 2025. január 17. | Egy kutató bejelentette a Split.io SDK-kulcsának nyilvánosságra kerülését a BugCrowd-on működő hibajelentési programunknak. A bejelentés tartalmára tekintettel a BugCrowd és a ClickUp helyesen „tájékoztató jellegű” kategóriába sorolta az esetet. |
| 2025. június 3. | A ClickUp áthelyezi a hibajelentési programját a HackerOne-ra. Az összes korábbi bejelentés sikeresen átkerült, beleértve a fenti problémát is. |
| 2026. április 8. | Az „impulsive” felhasználónév alatt tevékenykedő kutató új, részletes jelentést tett közzé a HackerOne-on, amelyben a kiszivárgott adatok hatókörét részletesen dokumentálja: 893 ügyfél e-mail-címét tartalmazó jelölési szabályok, az aktív ügyfél-API-tokent, valamint egyéb üzemeltetési adatokat. |
| 2026. április 10. | A HackerOne triage-elemzője tévesen duplikátumként zárta le a jelentést a 2025. januári jelentéshez képest, figyelmen kívül hagyva, hogy az új jelentés lényegesen eltérő és kiterjedtebb hatást dokumentál. A további vizsgálat során két további esetet azonosítottunk, amikor hasonló jelentéseket tévesen zártak le – egyet 2025. szeptember 6-án, egyet pedig 2026. január 1-jén. |
| 2026. április 21. | A kutató további részletekkel cáfolja a bezárást a HackerOne felé. |
| 2026. április 25. | A kutató fokozza a nyomást: a HackerOne-on keresztül e-mailt küld a ClickUp vezérigazgatójának és a security@clickup.com címre, valamint az X-en közvetlen üzenetet küld a ClickUpnak, és május 2-át jelöli meg a nyilvánosságra hozatal határidejeként. A ClickUp vezérigazgatójának és a security@ címre küldött e-maileket a spamszűrők kiszűrik, így azok nem jutnak el a címzettekhez. A ClickUpnak az X-en küldött közvetlen üzeneteket a rendszer automatikusan kiszűrte, így azokat nem olvasták el. |
| 2026. április 27. ~10:42 UTC | A kutató nyilvánosan közzéteszi az X-en. |
| 2026. április 27. 11:06 UTC | A ClickUp értesítést kap. Az incidens bejelentésre kerül. Elindul az incidenskezelési folyamat, és megkezdődik az ügyfél API-tokonjának cseréje. |
| 2026. április 27. 12:53–14:12 UTC | A split flag-ek első tisztázása a mérnöki csapatok között. |
| 2026. április 27. ~17:00 UTC | Az összes 4 809 funkciójelző teljes körű automatizált ellenőrzése befejeződött. |
| 2026. április 27. 23:13 UTC | A ClickUp és a Harness (Split) mérnökei áttekintik a műszaki részleteket. |
| 2026. április 28. 03:25 UTC | Minden ügyfél e-mail-címét eltávolítottuk a jelölési beállításokból. Megjegyzés: egyes harmadik felek e-mail-címei szándékosan két jelölésben is megmaradtak; ez csalárd felhasználással kapcsolatos. |
Hol vallott kudarcot a folyamatunk
Itt három dolog nem sikerült, és mindegyiket egyértelműen meg szeretnénk nevezni. A változtatásokról a következő részben fogunk beszélni.
1. Az eredeti jelentés nyomán nem történt további intézkedés. A 2025. januári hibajelentési jelentés nyomán mérnöki feladatot kellett volna kiadni, és felül kellett volna vizsgálni, hogy milyen adatok szerepelnek a flag-konfigurációkban. Ez azonban nem történt meg. Frissítjük a hibajelentések osztályozási folyamatunkat, hogy a jövőben ne fordulhasson elő hasonló helyzet.
2. A HackerOne helytelenül kezelte az ügy duplikátumként való lezárását. A 2026. áprilisi jelentés a 2025. januári jelentéshez képest lényegesen új hatásokat dokumentált. A HackerOne-nak nem kellett volna duplikátumként lezárnia. További vizsgálat során két másik hasonló jelentés lezárását is azonosítottuk – egyet 2025. szeptember 6-án, egyet pedig 2026. január 1-jén. Együttműködünk a HackerOne-nal, hogy orvosoljuk a triázs folyamatuk hiányosságait. Bevezetünk egy másodlagos felülvizsgálatot az összes HackerOne-jelentésre, hogy a jövőben ne legyünk függőek harmadik felek folyamataitól.
3. E-mail szolgáltatásunk a kutató bejelentését spamként jelölte meg. Április 25-én, szombaton a kutató e-mailt küldött mind a vezérigazgatónknak, mind a security@clickup.com címre, valamint közvetlen üzenetet írt a ClickUp X-fiókjának.
Ezeket az e-maileket csak az X-en közzétett bejegyzés után láttuk meg. A spam-mappák és az X közvetlen üzeneteinek szűrését érintő belső vizsgálat során bukkantak fel.
Frissítjük e-mail-szűrési és spam-ellenőrzési folyamatainkat annak érdekében, hogy a biztonsággal kapcsolatos beérkező üzenetek ne kerüljenek észrevétlenül törlésre.
Ezek közül egyik sem menti fel a lényegi problémát: az ügyféladatoknak eleve nem lett volna szabad szerepelniük a funkciójelző-konfigurációinkban.
Mit tettünk
Azonnali (befejezett)
- A nyilvánosságra hozott ügyfél-API-tokent érvénytelenítettük.
- Eltávolítottuk az összes ügyfél e-mail címét a funkciójelző-konfigurációkból.
- Kiadott egy az egész mérnöki részlegre kiterjedő utasítást, amely megtiltja a személyes azonosító adatok vagy hitelesítő adatok használatát a flag-konfigurációkban.
- Elvégeztük az összes funkciójelző teljes körű ellenőrzését a személyes azonosító adatok, a hitelesítő adatok és az érzékeny adatok tekintetében.
Rövid távú (folyamatban)
- Frissítettük az e-mail-szűrési szabályokat annak érdekében, hogy a security@clickup.com címre érkező összes biztonsági üzenet megjelenjen, és egy új lépést vezettünk be a spam-üzenetek (biztonságos) ellenőrzésére.
- A HackerOne segítségével végzett áttekintés a hibajelentések osztályozási folyamatáról, annak érdekében, hogy az érvényes jelentéseket ne zárják le tévesen.
- A feature flag-ellenőrök képzése a jóváhagyott tartalmakról.
Hosszú távú
- Minden flag-módosításkor az összes feature flag-konfiguráció automatikus átvizsgálása személyes adatokra utaló minták (e-mail címek, tokenek, API-kulcsok) felderítése céljából, blokkoló intézkedésekkel.
- Egy automatizált folyamat és eszközkészlet a HackerOne összes triázs-döntésének felülvizsgálatához.
- Vezessen be egy proxy-t vagy technikai megoldást a front-end és a back-end jelzők elkülönítésére.
Egy megjegyzés a kutatóról
Miután a ClickUp felvette a kapcsolatot az „impulsive / @weezerOSINT” felhasználónév alatt tevékenykedő, az ügyet nyilvánosságra hozó kutatóval, felelősségteljesen járt el, és minden kért információt megadott.
Az „impulsive / @weezerOSINT” felhasználónév alatt tevékenykedő kutató a megfelelő csatornákon keresztül (HackerOne, majd közvetlen e-mailben a security@clickup.com címre és a vezérigazgatónknak) jelentette be a problémát, és konstruktív módon együttműködött, amikor felvettük vele a kapcsolatot. Belső folyamataink nem tudták időben feldolgozni a jelentését és az eskalációkat.
A kutatóval való együttműködés után a ClickUp április 28-án 1:47 UTC-kor a következő üzenetet kapta: „Köszönöm, [ClickUp], nagyon értékelem, milyen gyorsan reagáltatok erre. Nem gyakran találkozom ilyennel, és ez nagy különbséget jelent.”
A ClickUp hibaért járó jutalommal köszöneti meg a kutatónak a felfedezését. Más kutatókat is arra bátorítunk, hogy csatlakozzanak a hibaért járó jutalomprogramunkhoz, és felelősségteljesen jelentsék be a sebezhetőségeket a sebezhetőség-bejelentési programunkon keresztül, vagy közvetlenül e-mailben a security@clickup.com címen.
Összefoglalás
Az incidens során nyilvánosságra került adatok köre 893 e-mail-címre korlátozódott – egyetlen ügyfél esetében sem érintette a munkaterület tartalmát, jelszavait vagy számlázási adatait, kivéve a fent említett egyetlen ügyfelet –, akivel közvetlenül együttműködünk annak ellenőrzése érdekében, hogy a kulcshoz nem fértek-e hozzá jogosulatlanul.
Ügyfeleinknek őszintén elnézést kérünk a történtekért, és mindent megteszünk annak érdekében, hogy ilyesmi többé ne fordulhasson elő.
Ha új információk derülnek ki, frissítjük ezt a bejegyzést. Kérdéseivel forduljon a security@clickup.com címre.
