security: AkeebaImporter uses unserialize() on untrusted filter data #75

Closed
opened 2026-06-21 23:01:12 +00:00 by jmiller · 0 comments
Owner

Severity: HIGH

AkeebaImporter at line 368 uses @unserialize($raw) on #__ak_profiles.filters data read from the database. PHP object injection via unserialize() is a known RCE vector when classes with __destruct()/__wakeup() are available.

Akeeba Backup has used JSON-encoded filters since v7+.

Fix

Replace unserialize() with json_decode(). If JSON parse fails, treat filters as empty.

File

  • src/Engine/AkeebaImporter.php:368-370
## Severity: HIGH `AkeebaImporter` at line 368 uses `@unserialize($raw)` on `#__ak_profiles.filters` data read from the database. PHP object injection via `unserialize()` is a known RCE vector when classes with `__destruct()`/`__wakeup()` are available. Akeeba Backup has used JSON-encoded filters since v7+. ## Fix Replace `unserialize()` with `json_decode()`. If JSON parse fails, treat filters as empty. ## File - `src/Engine/AkeebaImporter.php:368-370`
jmiller added the component: engine label 2026-06-21 23:01:12 +00:00
Sign in to join this conversation.
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteBackup#75