Skip to content

Aktualizuj core s obmedzením XSLT a zrovnaj Saxon na 12.10 - #32

Open
celuchmarek wants to merge 2 commits into
mainfrom
ccr-dfd6e439-3ltggs
Open

celuchmarek wants to merge 2 commits into
mainfrom
ccr-dfd6e439-3ltggs

Conversation

@celuchmarek

Copy link
Copy Markdown
Member

The problem

avm-service spracúva XSLT transformácie z nedôveryhodných požiadaviek (napr. POST /visualization). Použitá verzia core ešte nemala ochranu proti podvrhnutým štýlom — rovnakú zraniteľnosť, akú Autogram (desktop) riešil ako GHSA-2xch-hq7r-8hr5. Cez podvrhnuté XSLT (napr. vnorené fn:transform() s vlastnou Saxon konfiguráciou) tak útočník vedel zo servera prečítať lokálne súbory alebo robiť sieťové požiadavky.

Navyše bola verzia Saxon‑HE rozbitá: service/pom.xml aj core používali 12.4, kým Autogram je na 12.10.

Solution

Mimo rozsahu: žiadne zmeny v kóde service/ — iba posun závislosti a submodulu. Overenie: mvn -pl service test (12 testov zelených) a build celého projektu.

Demo

End‑to‑end proti reálne spustenému avm-service (POST /visualization) s rovnakou požiadavkou — škodlivé XSLT, ktoré cez vnorený transform() číta lokálny súbor:

# pôvodný core → obsah súboru unikol do odpovede
<html><body><p>LEAK[avm-secret-997222216]</p></body></html>

# po aktualizácii core (táto vetva) → požiadavka odmietnutá
{"code":"UNPROCESSABLE_INPUT","message":"Zlyhala transformácia podľa XSLT",
 "details":"Nepodarilo sa transformovať XML dokument podľa XSLT transformácie"}

# legitímna vizualizácia naďalej funguje
<!DOCTYPE html …><title>ROZHODNUTIE X4564</title>…

Generated by Claude Code

Pull in the XSLT resource-access hardening (restrict protocols and
collections, disable the transform() function and saxon: vendor
functions) from autogram-core, porting the Autogram fix for
GHSA-2xch-hq7r-8hr5 to the service.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vfj774yCbs76zuQnVyduVN
Align the Saxon version with autogram-core and Autogram (desktop), and
advance the core submodule to the matching bump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vfj774yCbs76zuQnVyduVN
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants