fix(security): improve results object creation#2574
fix(security): improve results object creation#2574wellwelwel merged 3 commits intosidorares:masterfrom
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2574 +/- ##
=======================================
Coverage 90.31% 90.32%
=======================================
Files 71 71
Lines 15708 15717 +9
Branches 1333 1334 +1
=======================================
+ Hits 14187 14196 +9
Misses 1521 1521
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
|
@sidorares, as done in #2572, I'll merge and attribute the credits manually. Also, I've sent you some more detailed information by e-mail 🙋🏻♂️ |
|
Hi, Sorry for commenting on a closed PR, but it introduced a breaking changes for me. I created a reproduction repo https://github.com/ert78gb/mysql2-object-creation I would like to know what is your opinion about this "breaking changes". Do you think If you would like I could open a new issue. Thx, |
|
Hm... 🤔 Hi @ert78gb, I can't answer yet whether it's an unintentional breaking change for deep tests comparisons or if it can be fixed. I need to elaborate some tests. Thanks for the basic repro, I'll start with that. |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mysql2](https://sidorares.github.io/node-mysql2/docs) ([source](https://github.com/sidorares/node-mysql2)) | dependencies | patch | [`3.9.3` -> `3.9.7`](https://renovatebot.com/diffs/npm/mysql2/3.9.3/3.9.7) | --- ### Release Notes <details> <summary>sidorares/node-mysql2 (mysql2)</summary> ### [`v3.9.7`](https://github.com/sidorares/node-mysql2/blob/HEAD/Changelog.md#397-2024-04-21) [Compare Source](sidorares/node-mysql2@v3.9.6...v3.9.7) ##### Bug Fixes - **security:** sanitize timezone parameter value to prevent code injection ([#​2608](sidorares/node-mysql2#2608)) ([7d4b098](sidorares/node-mysql2@7d4b098)) ### [`v3.9.6`](https://github.com/sidorares/node-mysql2/blob/HEAD/Changelog.md#396-2024-04-18) [Compare Source](sidorares/node-mysql2@v3.9.5...v3.9.6) ##### Bug Fixes - binary parser sometimes reads out of packet bounds when results contain null and typecast is false ([#​2601](sidorares/node-mysql2#2601)) ([705835d](sidorares/node-mysql2@705835d)) ### [`v3.9.5`](https://github.com/sidorares/node-mysql2/blob/HEAD/Changelog.md#395-2024-04-17) [Compare Source](sidorares/node-mysql2@v3.9.4...v3.9.5) ##### Bug Fixes - revert breaking change in results creation ([#​2591](sidorares/node-mysql2#2591)) ([f7c60d0](sidorares/node-mysql2@f7c60d0)) ### [`v3.9.4`](https://github.com/sidorares/node-mysql2/blob/HEAD/Changelog.md#394-2024-04-09) [Compare Source](sidorares/node-mysql2@v3.9.3...v3.9.4) ##### Bug Fixes - **docs:** improve the contribution guidelines ([#​2552](sidorares/node-mysql2#2552)) ([8a818ce](sidorares/node-mysql2@8a818ce)) - **security:** improve results object creation ([#​2574](sidorares/node-mysql2#2574)) ([4a964a3](sidorares/node-mysql2@4a964a3)) - **security:** improve supportBigNumbers and bigNumberStrings sanitization ([#​2572](sidorares/node-mysql2#2572)) ([74abf9e](sidorares/node-mysql2@74abf9e)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4wLjAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4wLjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIn0=--> Reviewed-on: https://git.vylpes.xyz/RabbitLabs/Droplet/pulls/304 Co-authored-by: Renovate Bot <renovate@vylpes.com> Co-committed-by: Renovate Bot <renovate@vylpes.com>
Finishing the tasks started in #2424 (and #2572).
This PR ensures a clean object evaluation for every item in results.
This is the final evaluation for both text and binary parsers:
Note
These changes preserve security without affecting the end user: