PAR-290
[chestshop] Replace the vendored Base64 native-deserialization with plain Base64 item-code blobs (migrate stored data)
Item-code blobs round-trip through the vendored utils/encoding/Base64 (1,822 lines) via encodeObject/decodeToObject — i.e. Java object serialization of a String (ItemCodeService lines ~93/119/161/166). That's the ADT-136 native-deserialization sink and gross overkill: the payload is just a YAML string.
Goal: store the YAML string as plain Base64 of its UTF-8 bytes (java.util.Base64), drop the native object (de)serialization, and delete most of the vendored Base64.
Why it's not a quick win: existing items.db rows hold Java-serialized blobs, so this needs a one-time read-old/write-new migration with a fallback decoder (try plain Base64 first, fall back to the legacy decodeToObject, re-write in the new format) — touching the same item-code data just migrated to MyBatis. Do it carefully and smoke-test on a live server.
Tracks ADT-136. Follow-up to the ORMlite→MyBatis migration (PAR-282). Not being done in the current rewrite pass by decision.
Resources
- PR#2 Last major release ParadauxIO/hibernia-economy
- commite008989 Q-010: close the legacy item-blob native-deserialization RCE sink (PAR-317)ParadauxIO/hibernia-economy
- commitcaf4374 Replace the Base64 native-deserialization of item-code blobs with plain Base64 + migrate (PAR-290)ParadauxIO/hibernia-economy
Comments
No comments yet.
Activity
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a pull request — PR #2 open — Last major release
- ParadauxIO linked a commit — Commit e008989 — Q-010: close the legacy item-blob native-deserialization RCE sink (PAR-317)
- ParadauxIO linked a commit — Commit caf4374 — Replace the Base64 native-deserialization of item-code blobs with plain Base64 + migrate (PAR-290)
- tesks created the issue