CVE-2026-122053
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Komponent Symfony Serializer ObjectNormalizer traktuje każdą nazwę atrybutu zawierającą . (oraz od Symfony 6.4, [) jako zapisywalna ścieżka właściwości, umożliwiająca niezaufanym wprowadzaniu danych modyfikowanie właściwości zagnieżdżonych obiektów i omijanie ich atrybutu metadanych #[Ignore] w wersjach Symfony 5.4.41 wcześniejszych niż 5.4.56, 6.4.9 wcześniejszych niż 6.4.50, 7.0.9 wcześniejszych niż 7.1.0, 7.1.2 wcześniejszych 7.4.23 i 8.x przed 8.1.11.
ObjectNormalizer::isAllowedAttribute() akceptuje takie nazwy, a setAttributeValue() przekazuje nazwę bezpośrednio do PropertyAccessor::setValue(), która analizuje ją jako ścieżkę właściwości i przechodzi do zagnieżdżonego obiektu. Klucz ładunku, taki jak customer.admin , zapisuje dane do $order->customer->admin. Atrybut metadanych #[Ignore] jest sprawdzany tylko wtedy, gdy zagnieżdżony obiekt sam w sobie jest zdenormalizowany, a nigdy, gdy osiąga się go ścieżką. #[Grupy] ograniczenia nie są pomijane: ścieżka jest akceptowana tylko wtedy, gdy w kontekście nie są przekazywane żadne grupy, a wtedy grupy niczego nie ograniczają. Gdy klasa główna nie zawiera ani #[Ignore], ani #[Groups], nie ma zastosowania żadna lista dozwolonych i każdy klucz ładunku jest przepuszczany. Ponieważ PropertyAccessor rozpoznaje również segment ścieżki względem metod publicznych, segment pasujący do nazwy metody publicznej wywołuje tę metodę z wartością atakującego. Dotyczy to aplikacji, które wiążą niezaufane dane wejściowe z obiektami, w tym kontrolerów używających #[MapRequestPayload] lub #[MapQueryString], których domyślnym normalizatorem jest ObjectNormalizer. W przypadku OBJECT_TO_POPULATE, używanego do częściowych aktualizacji, przechodzenie osiąga już uwodniony wykres jednostki, a zmodyfikowane pole może zostać utrwalone.
Poprawka akceptuje ścieżkę właściwości tylko wtedy, gdy metadane klasy deklarują atrybut o dokładnie tej nazwie. Zadeklarowane ścieżki działają bez zmian, a ścieżka w ładunku bez pasującej deklaracji jest ignorowana.
>_ Słabości (CWE)
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org