Duplicate Records in MySQL Database for each Page in SP Page Builder Pro - Forum | JoomShaper
Solved SP Page Builder

Duplicate Records in MySQL Database for each Page in SP Page Builder Pro

Asked by BAE Productions 2 months ago Last activity 2 months ago

I'm not sure of the exact timing when this occurred ... it was after the brute force attack we all experienced, and I believe after the recent SSP update, version 6.6.2.

Each of the Pages has been duplicated so there are two identical pages with the same Asset ID. Perhaps rather obvious, but trying to remove one of the duplicate pages as Administrator working within the SSP Component doesn't work. Example: selecting one of the duplicates and trashing it will trash both duplicate pages.

Looking at my datebase, in the sppagebuilder table, I am unable to remove one of the duplicates because the ID and Asset_ID are the same... therefore it does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

I wanted to give you the opportunity to suggest the best way to fix this matter. I assume I'll have to run a SQL query since the basics in phpMyAdmin cannot address it.

I'm not sure if anyone else using SP PageBuilder Pro has experienced or is experiencing this. If you've already provided details about the issue, please point me to that thread and/or fix.

Thank You

Accepted answer

Marked as the solution
Toufiq Senior Staff

Hi there,

Thank you for reaching out, and I apologize for any inconvenience caused by this oversight. Watch the video first.

https://drive.google.com/file/d/1nxDCGjvYchgbsEyrZ1JmhbduuEcQFmmE/view

Best regards,

Toufiqur Rahman (Team Lead, Support)

BAE Productions Asked this

Downloaded com_sppbscan-1.0.5.zip

Tried to install and received this Error Message:
Component Install: Field 'extension_id' doesn't have a default value

Toufiq Senior Staff

Does it solved your issue?

BAE Productions Asked this

No, it doesn't resolve the issue because I can't install the component.

When I attempt to install SP PageBuilder Scan, I get the error I posted in my previous response.

I've tried several versions of the component, but the error is the same:

Component Install: Field 'extensionid' doesn't have a default value

I've watch the movie as well, in case you are going to ask that.

5 more replies

BAE Productions Asked this

If you would, please follow-up with me on how to resolve this matter.

Has anyone else run into the install error for com_sppbscan?
Please advise me on how to workaround the issue; I'd like to install and get these duplicate database records cleaned up.

Toufiq Senior Staff

Could you please provide your site's login credentials?
Before sharing them, please make sure you're using a staging site rather than your live website, as I'd like to investigate the issue in a safe environment. If you don't already have a staging site, please create one and let me know once it's ready. Then, share the staging site's login details so I can take a closer look.

BAE Productions Asked this
2 months ago · edited

I've created the staging site as you've requested; credentials are hidden below.

FYI ... the corruption from the attack has created duplicates of everything within the database. If you would like me to send you a sql dump file, just let me know. You'll see that all of the Joomla content articles, sppagebuilder pages, etc., has been duplicated. Since the sql tables no longer have unique id in the ID column, records cannot be deleted as normal in phpMyAdmin.

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

I was able to run ALTER TABLE commands, adding a new column with auto_increment which then allowed me to remove the duplicate record rows. The duplication corruption runs so deep that I was unable to remove duplicates without creating new issues (e.g., no longer being able to view pages in backend of SPPageBuilder while logged in as administrator).

The staging site I've provided has the original Joomla 6 files and database from after the critical security vulnerability attack in SP Page Builder (v6.1.1).

I appreciate your time and efforts with this situation.

BAE Productions Asked this
2 months ago · edited

The extension_id exists ... however there is a length/value setting of 11, so it's int(11) ... it's not blank as in your example. Also, the checkboxes for Adjust Privileges and A_I are not checked... infact I am unable to check the box to turn on Adjust Privileges (it's grayed out).

Are you needing me to change the extension_id settings to be identical to your example?

Toufiq Senior Staff

Can you provide me database access?

BAE Productions Asked this

I see that the admin login is now broken. Guess what's why you now need access to the database.
I can't give you access to the root of my server. I can send you a dump of the SQL database if you want, or I can create another clone of the original database to put the sandbox site back in working order.

Let me know.

Toufiq Senior Staff

Please provide me database sql file

BAE Productions Asked this

Below is a link to a zip file of the sql dump.

Toufiq Senior Staff

Can't upload it my database. Cause, huge large size. Just try to make it auto_increament - checkmark.

AGON PARTNERS INNOVATION AG

Hello,

The behaviour you describe normally means that the #__sppagebuilder table no longer has a valid unique primary key on the idcolumn. Because two physical rows contain the same idand asset_id, SP Page Builder cannot distinguish between them, so deleting or trashing one record affects both.

I created a small Joomla repair installer for this specific situation. as I belive this would help you.. :-)

Before running it, please create a complete Akeeba Backup of the website and database. Ideally, also test the repair on a staging copy first.

The installer:

  • Supports Joomla 3.10.x, 4.x, 5.x, and 6.x.
  • Is intended for SP Page Builder 6.x.
  • Creates a database backup table before making changes.
  • Checks duplicate #__sppagebuilder.id records.
  • Deletes additional rows only when the duplicate records are completely identical.
  • Restores the primary key and AUTO_INCREMENT property on the id column.
  • Checks the Joomla #__extensions.extension_id structure as well, because a damaged primary key there can prevent Joomla extensions from installing.
  • Stops without deleting anything if duplicate rows with the same ID contain different data.
  • Leaves the database backup tables in place after the repair.

You can install it through:

System → Install → Extensions → Upload Package File

Installer package:

files_agon_sppb_duplicate_page_repair_1.0.0_j3-j6.zip - I can link it via our deposit if you like.
https://vault.agon-solution.ch/#/shared/19382987A0E3DF85828DC0E365F08A343FEAEB50145B71F2B6E291CD1A54C895
But it is protected. The Joomshaper Team which I share the SECRET can pass it to you.

Creator: AGON PARTNERS INNOVATION AG
Author: Tobi Gurtner

After installation, please check the Joomla installer messages, then verify that:

  1. Each SP Page Builder page appears only once.
  2. Existing pages can be opened and edited.
  3. Trashing one page no longer affects another page.
  4. A newly created page receives a new unique ID.
  5. The frontend pages continue to work correctly.

This is a focused repair for exact duplicate records and missing primary-key definitions. If the attack duplicated records across many other Joomla tables, the safer approach is to restore a known-good backup and perform a full security cleanup rather than repairing every table automatically.

This is an independent emergency repair tool and not an official JoomShaper package.

Log in to reply.