E meta në eksportin HTML të Telegram Desktop mund të vjedhë bisedat

E meta në eksportin HTML të Telegram Desktop mund të vjedhë bisedat

Studiuesit zbuluan një të metë në Telegram Desktop që lejon JavaScript të fshehur të vjedhë mesazhet e bisedës nga skedarët e vjetër të eksportuar në HTML. Përditësoni dhe ri-eksportoni bisedat e vjetra.

Një e metë sigurie në Telegram Desktop lejoi që mesazhi i një boti të fshehë JavaScript brenda eksporteve të bisedave të ruajtura si skedarë HTML, raportuan studiuesit në ExPatch më 12 shtator. Skripti do të ekzekutohej kur dikush të hapte skedarin e eksportuar në një shfletues ueb, dhe mund të dërgonte përmbajtjen e atij skedari në një server të kontrolluar nga sulmuesi ose të ndryshonte atë që shfaqte faqja. E meta prekte Telegram Desktop, aplikacionin për Windows, macOS dhe Linux, i cili mund të eksportojë një bisedë të vetme ose të gjitha bisedat si faqe që hapen në një shfletues.

Botët e Telegram mund të bashkangjisin rreshta butonash të klikueshëm nën mesazhet e tyre, të quajtur tastierë inline, dhe boti zgjedh tekstin e shfaqur në secilin buton. Deri në rregullim, funksioni i eksportimit të Telegram Desktop shkruante atë tekst butoni drejtpërdrejt në skedarin HTML pa e 'escape-uar'. Escape-imi është një hap standard sigurie që konverton karaktere si shenja më e vogël se (<) në mënyrë që shfletuesi t'i shfaqë si tekst në vend që t'i trajtojë si kod. Kodi i eksportimit bënte escape për tekstin e mesazhit, emrat e dërguesve dhe fusha të tjera, por jo për tekstin e butonit. Studiuesit Denis Rostilov dhe Aleksander Rostilov zbuluan se një bot mund të vendoste një etiketë skripti në tekstin e një butoni, të mbushur me karaktere të padukshme në mënyrë që butoni të dukej bosh në versionin e Telegram Desktop që ata testuan. Boti nuk kishte nevojë të ishte në bisedën e synuar: nëse mesazhi i një boti me vetëm butona lidhjesh ueb përcillet në një grup, butonat mbajnë përmbajtjen e tyre, kështu që çdo anëtar mund ta çojë skriptin në historikun e bisedës. Ai pastaj qëndron aty derisa të fshihet dhe mund të eksportohet muaj ose vite më vonë.

Kur hapet një skedar eksportimi që përmban një mesazh të tillë, skripti ekzekutohet pa asnjë klikim të mëtejshëm. Ai mund të lexojë çdo mesazh në atë skedar, përfshirë emrat e dërguesve dhe vulat kohore, emrin e bisedës, llojin dhe numrin e anëtarëve, dhe shtegun lokal të skedarit në pajisje. Ai mund t'i dërgojë të gjitha këto serverit të sulmuesit. Kodi i eksportimit i ndan eksportet e gjata në skedarë të veçantë me 1,000 mesazhe secili, kështu që një skedar ekspozon më së shumti përmbajtjen e vet, jo të gjithë bisedën ose llogarinë e Telegram. Skripti gjithashtu mund të rishkruajë faqen: në demonstrimin e studiuesve, ai zëvendësoi të gjithë eksportin me një formular të rremë 'verifikimi' të Telegram. I njëjti kontroll mund të ndryshonte datat, dërguesit ose tekstin e mesazheve në një skedar që përdoret si regjistër. Ai nuk ndryshon kopjen e vetë Telegram të bisedës ose skedarin e eksportuar të ruajtur në disk. Që skripti të ekzekutohet, duhet të plotësohen tre kushte: eksporti HTML është bërë me një version të Telegram Desktop para rregullimit, mesazhi që mban skriptin është brenda bisedës së eksportuar, dhe skedari hapet në një shfletues me JavaScript të aktivizuar.

Telegram publikoi një rregullim në korrik. Zhvilluesi John Preston shkroi patch-in, commit 8457d13a, më 30 qershor, dhe ai shtoi escape-imin që mungonte. Rregullimi arriti në beta 6.9.4 më 3 korrik dhe në versionin stabil 7.0.1 më 14 korrik në GitHub. Versionet e prekura shkojnë nga Telegram Desktop 4.15.1, i publikuar në mars 2024, deri në 6.9.3. Shënimet e publikimit për 6.9.4 dhe 7.0.1 nuk përmendin rregullimin, changelog-u i aplikacionit nuk e përmend atë, dhe depoja e Telegram Desktop nuk liston asnjë këshillë sigurie. Nuk ka as një identifikues CVE për të metën. Studiuesit e vlerësuan atë 8.2 nga 10 në sistemin e vlerësimit CVSS 3.1. Ata raportuan të metën në Telegram më 3 qershor, dy ditë pasi e gjetën, dhe thanë se testuan vetëm në llogaritë e tyre dhe grupet e testimit. Shkrimi i tyre nuk pretendon se dikush e ka përdorur kundër përdoruesve realë. Telegram konfirmoi të metën më 1 korrik dhe ofroi një shpërblim bug bounty prej $500, të cilin studiuesit e refuzuan dhe kërkuan t'i jepet bamirësisë. Ata kërkuan një datë të koordinuar publikimi dhe ofruan të heshtin derisa patch-i të publikohej. Në një email të datës 1 korrik që studiuesit publikuan si pamje ekrani, Telegram Support shkroi se zbulimi publik edhe i çështjeve tashmë të adresuara mund të vinte në rrezik më shumë përdorues të Telegram, të cilin studiuesit e interpretuan si një refuzim për të lejuar publikimin pas një rregullimi. Ata publikuan më 12 shtator pasi rregullimi ishte publikuar.

Përdoruesit duhet të përditësojnë Telegram Desktop në 7.0.1 ose më vonë, ose në 6.9.4 ose më vonë në kanalin beta. Pas përditësimit, ata duhet të ri-eksportojnë çdo bisedë që është eksportuar në HTML para rregullimit, ose t'i hapin skedarët e vjetër vetëm me JavaScript të çaktivizuar. Çdo eksport HTML i bërë para rregullimit duhet të trajtohet si i pabesueshëm, veçanërisht ai nga një grup i madh ku origjina e secilit mesazh është e vështirë të kontrollohet. Derisa aplikacioni të përditësohet, nuk ka arsye për të krijuar eksporte të reja HTML, sepse vetëm eksportet e prodhuara nga kodi i vjetër mbajnë të metën. Deri më 14 shtator, Telegram nuk kishte publikuar asnjë udhëzim për përdoruesit që mbajnë eksporte të vjetra. Për pronarët e faqeve të internetit dhe bizneset që mund të marrin ose ndajnë arkiva bisedash të eksportuara, një rishikim me sigurinë në radhë të parë i çdo skedari HTML përpara se të hostohet ose shpërndahet është një hap praktik; AEU-I ofron IT dhe konsulencë me sigurinë në radhë të parë që mund të ndihmojë në vlerësimin e skedarëve të tillë.

Si të Mbroheni

  1. Përditësoni Telegram Desktop në versionin 7.0.1 ose më të ri menjëherë.
  2. Nëse keni eksportuar ndonjë bisedë në HTML përpara përditësimit, eksportojini përsëri duke përdorur aplikacionin e përditësuar.
  3. Mos hapni skedarë të vjetër eksportimi HTML të bisedave kur JavaScript (funksioni që ekzekuton kodin e faqeve të internetit) është i aktivizuar; çaktivizojeni fillimisht në cilësimet e shfletuesit tuaj.
  4. Trajtoni çdo eksport HTML të bisedës të bërë para korrikut 2026 si një rrezik të mundshëm, veçanërisht nga grupe të mëdha, dhe kontrolloni kush e dërgoi secilin mesazh.
  5. Shmangni krijimin e eksporteve të reja HTML derisa të keni përditësuar aplikacionin, sepse vetëm versionet e vjetra prodhojnë skedarët e pasigurt.

Termat e Shpjeguar

  • JavaScript Një gjuhë programimi që ekzekutohet brenda shfletuesve të uebit dhe mund të lexojë dhe ndryshojë atë që shfaq një faqe interneti.
  • HTML Gjuha që përdoret për të ndërtuar faqet e internetit, të cilën një shfletues e lexon për të shfaqur tekst, butona dhe lidhje.
  • Inline keyboard Një rresht butonash të klikueshëm që një bot mund t'i bashkangjisë nën mesazhin e tij në Telegram.
  • Escaping Ndryshimi i karaktereve speciale si < në mënyrë që shfletuesi t'i shfaqë si tekst të thjeshtë në vend që t'i ekzekutojë si kod.
  • CVSS Një sistem vlerësimi që jep një numër nga 0 në 10 për të treguar sa serioze është një e metë softuerike.
  • Bot Një program i automatizuar brenda Telegram që mund të dërgojë mesazhe dhe të bashkangjisë butona.

Shërbime AEU të lidhura

  • AEU DNS Resolver DNS i enkriptuar