Repository navigation
v0.97-beta — Security update: PocketBase 0.39.11, sign-in rate limiting and five hardening fixes
Pre-releaseWhat's new:
• Server core PocketBase 0.39.6 → 0.39.11: fixes a publicly known bug (GHSA-84vh-m24q-wjjx) where a crafted request could
crash the server. Self-hosters: please upgrade soon (git pull && docker compose up -d --build).
• Sign-in has a brake: after 20 wrong attempts within a minute from the same address the server refuses further ones
for a moment (record creation 20 / 5 s; 300 API requests / 10 s per address) — password guessing can no longer run forever.
• The own-AI-server address check can no longer be fooled by a specially formed address — it checks exactly where the server will connect.
• After posting, a comment's author and map can no longer be changed through the API — only the text.
• Changing or resetting a password (also through "Forgotten password") revokes the account's API keys and connected AI
agents — a key issued before the change stops working, connect the agent again.
• The legacy uploads collection (unused by the app; node attachments live in node_files) is closed: not readable
without signing in and nothing new can be uploaded into it.
• Base image Alpine 3.22; the PocketBase download is checksum-verified at build time.
Verified: full regression 259 suites / 259 OK (2 Office suites first failed on missing packages in the test environment, 51/0 and 55/0 after install); audit-vlna0 suite 30/0 (21/9 on v0.94 — fails exactly on the
brake, comments, keys after password change and reset, uploads); hosted-guards 63/0 (59/4 on v0.94); volume upgrade from
v0.94 data (map and existing shares readable, API key works, uploads locked); heavy suites with the brake on: ui-relax 141/0, ai-chat-funkce 127/0, sdileni-pozvanka 67/0, kalendare 174/0, ai-balicky 155/0; trial instance with the brake on: registration and sign-in pass.
Upgrade note: migration 1791700000 (uploads collection) runs automatically on start, once. Rate limiting is on by
default. Behind a reverse proxy (Caddy, nginx — see the HTTPS guide) add KB_TRUSTED_PROXY_HEADER=X-Forwarded-For to
.env, otherwise the whole company counts as one client; KB_RATE_LIMITS=0 turns it off. No data changes.
Česky
Novinky:
• Serverové jádro PocketBase 0.39.6 → 0.39.11: opravuje veřejně známou chybu (GHSA-84vh-m24q-wjjx), kdy šel server
shodit speciálně sestaveným požadavkem. Self-host: aktualizujte prosím co nejdřív (git pull && docker compose up -d --build).
• Přihlášení má brzdu: po 20 špatných pokusech za minutu ze stejné adresy server chvíli odmítá další (zakládání záznamů
20 / 5 s, 300 požadavků na API / 10 s na adresu) — hádání hesla už nejde zkoušet donekonečna.
• Kontrola adresy vlastního AI serveru už nejde obelstít speciálně zapsanou adresou — ověřuje přesně to, kam se server připojí.
• U komentáře už po odeslání nejde přes API změnit autora ani mapu, jen text.
• Změna nebo reset hesla (i přes „Zapomenuté heslo“) zruší API klíče a připojené AI agenty účtu — klíč vydaný před změnou
dál nefunguje, agenta připojíte znovu.
• Stará kolekce uploads (aplikace ji nepoužívá, přílohy uzlů jsou v node_files) je zavřená: bez přihlášení nejde číst
a nic nového do ní nejde nahrát.
• Základní obraz Alpine 3.22, stažení PocketBase se při sestavení ověřuje kontrolním součtem.
Ověřeno: plná regrese 259 sad / 259 OK (2 sady Kanceláře napoprvé spadly na chybějících balíčcích testovacího prostředí, po doinstalaci 51/0 a 55/0); sada audit-vlna0 30/0 (nad v0.94 21/9 — padá přesně brzda, komentáře,
klíče po změně i resetu hesla, uploads); hosted-guards 63/0 (nad v0.94 59/4); upgrade přes volume z dat v0.94 (mapa i
existující sdílení čtou, API klíč funguje, uploads zamčené); těžké sady s brzdou zapnutou: ui-relax 141/0, ai-chat-funkce 127/0, sdileni-pozvanka 67/0, kalendare 174/0, ai-balicky 155/0; zkušebka s brzdou zapnutou: registrace i přihlášení projdou.
Poznámka k upgradu: migrace 1791700000 (kolekce uploads) proběhne sama při startu, jen jednou. Brzda je zapnutá
ve výchozím stavu. Za reverzní proxy (Caddy, nginx — návod HTTPS) přidejte do .env
KB_TRUSTED_PROXY_HEADER=X-Forwarded-For, jinak se celá firma počítá jako jeden klient; KB_RATE_LIMITS=0 brzdu vypne.
Žádná změna dat.