|
Fix 10 critical/high issues from Phase 6-7 audit
- Entity::select_from_db() throws on missing record (fatal error fix) - Scripts::select_scripts_by_aliases_types() early return on empty array (SQL syntax fix) - ThinBuilder WHERE operator whitelist (SQL injection prevention) - validate_identifier() rejects numeric start (SQL correctness) - Remove escape_string_in_arr() dead code (security hygiene) - MetaManager::create_or_update() wrapped in transaction (race condition) - Scripts::remove_scope() deletes DB before file (consistency) - IN clause guards against non-array values (PHP 8 TypeError fix) - Short where syntax supports IN operator (correctness) - DeviceAuth::kill() clears Device auth cache (stale data fix) |
|---|
|
|
| docs/server-audit.md |
|---|
| server/Fury/Modules/ThinBuilder/ThinBuilderProcessing.php |
|---|
| server/SHServ/Entities/Device.php |
|---|
| server/SHServ/Entities/DeviceAuth.php |
|---|
| server/SHServ/Middleware/Entity.php |
|---|
| server/SHServ/Models/MetaManager.php |
|---|
| server/SHServ/Models/Scripts.php |
|---|
| server/tests/DeviceAuthCacheTest.php 0 → 100644 |
|---|
| server/tests/EntityCrudTest.php |
|---|
| server/tests/MetaManagerTest.php 0 → 100644 |
|---|
| server/tests/ScriptsModelStateTest.php |
|---|
| server/tests/ThinBuilderTest.php |
|---|