W3C opublikowało poprawkę do specyfikacji XML Signature naprawiając błąd, który w dosłownej implementacji metody HMAC umożliwiał poprawną weryfikację fałszywych podpisów. W XML Signature parametr ds:HMACOutputLength określa długość w bitach, do której skrócony został wynik funkcji HMAC z oryginalnej wiadomości. Ponieważ w poprzednich wersjach specyfikacji nie określono żadnych dodatkowych ograniczeń odnośnie tego parametru możliwa była sytuacja, w której w pełni zgodna ze specyfikacją implementacja akceptuje podpis złożony skrótem o długości np. 1 bitu.
Oczywiści atakującym byłby w tym przypadku składający podpis, zaś ofiarą - osoba go weryfikująca za pomocą aplikacji mogącej posiadać np. deklarację zgodności ze standardem (wymienionym przecież wprost w polskim rozporządzeniu).
Problem nie jest wyłącznie teoretyczny i wydumany. Informacja W3C została przekazana organizacjom CERT, które po zweryfikowaniu wśród producentów opublikowały ostrzeżenia (US CERT VU#466161). Rezultatem tej akcji było np. wypuszczenie poprawionej wersji jednej z najpopularniejszych darmowych bibliotek xmlsec.
Ciekawe, które polskie implementacje XML Signature lub/i XAdES zweryfikują taki podpis?