Jak metadane plików w systemie macOS ujawniały tokeny uwierzytelniania

Artur - AFINE cybersecurity team member profile photo
Karol Mazurek
February 12, 2026
3
min read
mac extended attributes

Ponad dwa lata po zgłoszeniu, Apple po cichu załatało lukę w macOS, która ujawniała wrażliwe tokeny uwierzytelniające poprzez metadane plików – bez zapewnienia przejrzystości dla społeczności badaczy bezpieczeństwa. Problem dotyczył funkcji macOS przechowującej pełne adresy URL pobierania w metadanych plików, w tym wrażliwe parametry zapytań i tokeny uwierzytelniające.

Podatność ta została zgłoszona 05.11.2023 o godzinie 20:25. Ten przypadek ilustruje problemy w procesie obsługi zgłoszeń przez program bug bounty Apple..

Wyciek metadanych URL

Gdy użytkownicy macOS pobierają pliki przez przeglądarki internetowe, system automatycznie zapisuje pełny adres URL pobierania jako rozszerzony atrybut o nazwie kMDItemWhereFroms.

Te metadane pojawiają się w panelu „Pobierz informacje” Findera pod „Skąd pochodzi” i utrzymują się przez czas nieokreślony – przetrwając ponowne uruchomienia. Jednak wpływ jest stosunkowo niewielki, ponieważ te informacje nie utrzymują się po przeniesieniu pliku na inną maszynę. Niemniej macOS przechowuje cały adres URL, włączając ścieżkę i parametry zapytania. Wiele usług internetowych osadza tokeny uwierzytelniające, identyfikatory sesji i klucze API bezpośrednio w adresach URL dla „tymczasowej” kontroli dostępu:

Te tokeny były po cichu zapisywane do systemu plików, czytelne dla każdego procesu z dostępem do pliku.

Proof of Concept

Poniższy link został utworzony w 2023 roku. Był przeznaczony do „tymczasowego” dostępu. Jednak takie tokeny API często utrzymują się przez dłuższy okres. Ten poniżej nadal działa. W celu reprodukcji problemu w dowolnej przeglądarce internetowej pobierz plik:

https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHccaucjYmWcCK0uMLEQ%2Fuploads%2FfyUSfiWjJrlMGC88QXw3%2FSPECIAL_CHARS.xlsx?alt=media&token=81ff0b0c-5d40-4db5-9b70-aa8cf465880eCode language: JavaScript (javascript)

Uruchomienie mdls SPECIAL_CHARS.xlsx ujawnia:

textkMDItemWhereFroms = (
"https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLHccaucjYmWcCK0uMLEQ%2Fuploads%2FfyUSfiWjJrlMGC88QXw3%2FSPECIAL_CHARS.xlsx?alt=media&token=81ff0b0c-5d40-4db5-9b70-aa8cf465880e"
)
Code language: JavaScript (javascript)

Token API został trwale zapisany w metadanych pliku.

Dlaczego tokeny URL w metadanych to ryzyko

Lokalny atakujący może wykorzystać ujawnione tokeny API w celu uzyskania dostępi do usług stron trzecich. Specjaliści ds. bezpieczeństwa od dawna ostrzegają przed przesyłaniem wrażliwych danych w adresach URL. Nawet przy szyfrowaniu HTTPS chroniącym transmisję, parametry URL wyciekają przez wiele kanałów:

  • Logi dostępu do serwera przechwytują pełne adresy URL żądań, włączając ciągi zapytań
  • Historia przeglądarki przechowuje pełne adresy URL z osadzonymi poświadczeniami
  • Nagłówki Referer ujawniają adresy URL zasobom stron trzecich, takim jak platformy analityczne
  • Systemy współdzielone pozwalają każdemu z dostępem przeglądać historię URL

Metadane macOS rozszerzyły tę ekspozycję. Podczas gdy log serwera może być rotowany lub historia przeglądarki wyczyszczona, rozszerzone atrybuty plików utrzymują się, dopóki nie zostaną usunięte. Specyfikacje OAuth 2.0 i nowoczesne frameworki uwierzytelniania wyraźnie zabraniają przekazywania tokenów w adresach URL z tych powodów. Pomimo powszechnego przyjęcia uwierzytelniania opartego na nagłówkach (jak wzorzec Authorization: Bearer), wiele starszych systemów i usług przechowywania w chmurze nadal używa tokenów osadzonych w URL dla wstecznej kompatybilności.

Podsumowując, tokeny API nie powinny być używane bezpośrednio w URL w pierwszej kolejności. Jednak systemy operacyjne powinny również zapewniać obronę w głębi, jeśli usługa internetowa nie przestrzega najlepszych praktyk.

Słowa Końcowe

Podatność została zgłoszona do Apple Product Security 5 listopada 2023 roku. Po około miesiącu została zaakceptowana i oznaczona jako do załatania jesienią 2024. Rok później została oznaczona jako do załatania jesienią 2025, a ostatecznie, we wrześniu 2025 roku, została oznaczona jako „Nie jesteśmy w stanie zidentyfikować problemu bezpieczeństwa w Twoim zgłoszeniu”:

This image has an empty alt attribute; its file name is image-1-1024x222.png

Jednak wygląda na to, że została naprawiona w macOS Tahoe 26.0.1. Jest to nieco mylące, ponieważ zgłoszenie zostało zamknięte, ale z informacją, że Apple nadal sprawdza potencjalne ulepszenia.

Nie wiadomo, czy jest to spowodowane problemami komunikacyjnymi między zespołem triage bug bounty a zespołem inżynieryjnym w Apple, ale wygląda to na naruszenie norm odpowiedzialnego ujawniania dwa lata po początkowym zgłoszeniu i nie jest to jakość, jakiej oczekujemy od Apple.

FAQ

Questions enterprise security teams ask before partnering with AFINE for security assessments.

No items found.

Miesięczny Raport Ofensywny

Dołącz do naszego newslettera! Co miesiąc ujawniamy nowe zagrożenia w oprogramowaniu biznesowym, wskazujemy kluczowe luki wymagające uwagi oraz analizujemy trendy w cyberbezpieczeństwie na podstawie naszych testów ofensywnych.

Klikając "Subskrybuj", potwierdzasz, że zgadzasz się z naszymi Zasadami i Warunkami.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Gradient glow background for call-to-action section