The OCPP implementation in libocpp before 0.26.2 allows a denial of service (EVerest crash) via JSON input larger than 255 characters, because a CiString<255> object is created with StringTooLarge set to Throw.
{ "vanir_signatures": [ { "target": { "file": "lib/ocpp/v2/charge_point.cpp" }, "digest": { "threshold": 0.9, "line_hashes": [ "329914649163498463201405919058363773259", "191782502361572714822329576504077630384", "226063914280258387762726754857852685240", "282922994923743629426707999042575520406", "136402490273983162638423395517940998810", "336988327875728139135200906983482269130", "159050727889304491647948875706886107139", "274997886602663972079959384348766130933" ] }, "signature_type": "Line", "signature_version": "v1", "deprecated": false, "id": "CVE-2025-59398-041f5ce1", "source": "https://github.com/everest/libocpp/commit/fb391b4ff16a0a07150e5a8eebf0856fb6623cbe" }, { "target": { "file": "lib/ocpp/v2/charge_point.cpp", "function": "ChargePoint::message_callback" }, "digest": { "function_hash": "85469999211743027846757861404581018417", "length": 7340.0 }, "signature_type": "Function", "signature_version": "v1", "deprecated": false, "id": "CVE-2025-59398-5b4b4810", "source": "https://github.com/everest/libocpp/commit/fb391b4ff16a0a07150e5a8eebf0856fb6623cbe" }, { "target": { "file": "include/ocpp/common/message_queue.hpp" }, "digest": { "threshold": 0.9, "line_hashes": [ "242458449135854739851948518810059249848", "10575674806477531753861574198813457614", "196977730058034066642156776201897383258", "66770497864817877471414621064748994124", "42650009989781155559769190597484297912", "336142444310787340366234446267074719041", "101177556271919559789197140705369459622" ] }, "signature_type": "Line", "signature_version": "v1", "deprecated": false, "id": "CVE-2025-59398-843a1bd5", "source": "https://github.com/everest/libocpp/commit/fb391b4ff16a0a07150e5a8eebf0856fb6623cbe" } ] }