You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[SR-AUD-330](modules/text-json/include/System/Text/Json/JsonSerializer.hpp.audit.md#sr-aud-330--medium--jsonserializer-deserialize-ignores-its-jsonserializeroptions-argument)| medium | confirmed |`JsonSerializer.hpp`, `JsonSerializerOptions.hpp`, `JsonSerializationTests.cpp`| Both Deserialize overloads discard options, so configured parse controls such as trailing commas, comments, depth, and duplicate policy have no effect. |
339
339
|[SR-AUD-331](modules/security-cryptography/include/System/Security/Cryptography/Rfc2898DeriveBytes.hpp.audit.md#sr-aud-331--high--rfc2898derivebytesdispose-is-inherited-as-a-no-op-and-permits-post-disposal-derivation)| high | confirmed |`DeriveBytes.hpp`, `Rfc2898DeriveBytes.hpp`, `Rfc2898DeriveBytes.cpp`, `HashAlgorithmTests.cpp`| Rfc2898DeriveBytes inherits an empty Dispose, retains password/salt/buffer state, and continues real PBKDF2 derivation after disposal; current .NET disposes its HMAC and clears sensitive state. |
340
340
|[SR-AUD-332](modules/security-cryptography/include/System/Security/Cryptography/HMAC.hpp.audit.md#sr-aud-332--high--hmac-disposal-leaves-invertible-key-derived-pads-resident)| high | confirmed |`HMAC.hpp`, `HMAC.cpp`, `KeyedHashAlgorithm.hpp`, `HashAlgorithmTests.cpp`| Dispose clears direct key storage but leaves inner/outer pads sized and invertible; the audit probe reconstructs the original HMAC key after disposal. |
341
+
|[SR-AUD-333](modules/xml-linq/include/System/Xml/Linq/XObject.hpp.audit.md#sr-aud-333--high--retained-xmllinq-children-dereference-a-destroyed-raw-parent)| high | confirmed |`XObject.hpp`, `XObject.cpp`, `XNode.cpp`, `XContainer.cpp`, `Extensions.hpp`, `XLinqNodeTests.cpp`| A public shared_ptr child outlives its shared_ptr-owned parent while retaining a raw parent pointer; ASan confirms heap-use-after-free at getParentProperty. |
342
+
|[SR-AUD-334](modules/xml-linq/include/System/Xml/Linq/XElement.hpp.audit.md#sr-aud-334--medium--namespace-uri-semantics-are-discarded-by-xmllinq-parse-and-serialization)| medium | confirmed |`XName.hpp`, `XNamespace.hpp`, `XElement.hpp/.cpp`, `XDocument.cpp`, `XLinqSupportTests.cpp`| Parsed prefix text never resolves to an XName URI and writer paths emit only local names; a namespaced programmatic tree serializes/reparses as unqualified XML. |
343
+
|[SR-AUD-335](modules/xml-linq/include/System/Xml/Linq/XCData.hpp.audit.md#sr-aud-335--medium--direct-serializers-emit-or-corrupt-xml-special-lexical-content)| medium | confirmed |`XCData`, `XComment`, `XProcessingInstruction` headers/sources, `XLinqNodeTests.cpp`| CDATA ]]>, comment --, and PI ?> lexical delimiters are emitted without splitting, escaping, or diagnostics; a CDATA round trip loses data. |
344
+
|[SR-AUD-336](modules/xml-linq/include/System/Xml/Linq/XObject.hpp.audit.md#sr-aud-336--medium--changed-and-changing-accept-handlers-but-never-notify-mutations)| medium | confirmed |`XObject.hpp`, `XObjectChange*`, mutation APIs, `XLinqNodeTests.cpp`| Event registration discards handlers; direct mutation leaves a registered Changed callback uninvoked and tests only assert no throw. |
341
345
342
346
Severity is assessed by reachable impact: **critical** (data loss, security,
343
347
or systemic integrity), **high** (crash, corruption, major contract break),
0 commit comments