Updated 15 October 2026 · By Abhilash Sahoo, Founder, Infyways
Joomla security is the set of updates, account controls, server settings and monitoring that keep a Joomla website from being hacked, and that let you detect and clean an infection quickly if it happens.
To secure a Joomla website, keep Joomla core and every extension on a supported, patched version, turn on Multi-factor Authentication for all administrators, give users only the permissions they need, run a PHP version Joomla supports, block PHP execution in upload folders, and keep tested off-site backups.
Most Joomla sites are not hacked through Joomla core. They are hacked through an outdated extension, a weak administrator password or an unmaintained server. The checklist below covers all three.
In short: Joomla security is a maintenance routine, not a single extension. Patch first, lock down accounts second, harden the server third, and check regularly for signs of compromise.
| Question | Short answer |
|---|---|
| Is Joomla secure? | Yes, when core and extensions are kept up to date |
| Latest safe Joomla versions | 6.2.0, or 5.4.10 on Joomla 5 (both 13 October 2026) |
| Most common way in | Outdated third-party extensions and stolen admin passwords |
| Most important single step | Update core and extensions, then turn on MFA |
| Where malware hides | PHP and JavaScript files, templates, .htaccess, the images folder and the database |
| Site flagged by Google | Clean everything, then use Request Review in Search Console’s Security issues report |
| Hacked Joomla 3 site | Usually rebuild on Joomla 6 instead of cleaning file by file |
Is Joomla secure?
Yes. Joomla core has a dedicated Joomla Security Strike Team (JSST) that publishes every fixed core vulnerability, with its CVE number and affected versions, in the Joomla Security Announcements, and ships fixes as numbered security releases. It also includes several protections in core that other CMSs often add with plugins:
- Access Control Lists (ACL): fine-grained permissions per user group (view, create, edit, publish, administer).
- A separate administrator application at
/administrator, which you can restrict by IP address, VPN or HTTP authentication. - Multi-factor Authentication in core since Joomla 4.2, including authenticator apps (TOTP), passkeys/WebAuthn, YubiKey and email codes.
- Automated core updates since Joomla 5.4, so a site can install new core releases without manual action.
The weak point is almost always what sits on top of core: third-party extensions, templates, hosting and people. The summer 2026 incidents below are a good example.
How do I secure a Joomla website? (12-step checklist)

Work through these steps in order. Steps 1–4 close the most common ways in.
- Update Joomla core. Run the latest release of your branch: Joomla 6.2.0 (released 13 October 2026) or, if you are still on Joomla 5, 5.4.10 (13 October 2026, the last bugfix release for 5.x). Go to System > Update > Joomla. Plan your move to Joomla 6 with our Joomla 3 to 6 upgrade guide.
- Update every extension and template. Go to System > Update > Extensions, click Find Updates, and update editors, page builders and form extensions first. They are the most common entry point.
- Remove what you do not use. Uninstall (not just disable) unused extensions, old templates and sample data. Code that is not installed cannot be exploited.
- Turn on Multi-factor Authentication. In Users > Manage, require MFA for every Super User and Administrator. Use an authenticator app or a passkey.
- Apply least privilege. Keep very few Super Users. Editors and authors should never be in the Super Users group. Review Users > Groups and Global Configuration > Permissions.
- Use strong, unique credentials. Unique passwords for Joomla admins, the database user, hosting control panel, FTP/SFTP and SSH. Prefer SFTP or SSH keys over plain FTP.
- Run a supported PHP version. Joomla 6 needs PHP 8.3 or later (8.4 recommended); Joomla 5 needs PHP 8.1 or later. See our Joomla PHP settings guide.
- Force HTTPS. Install a TLS certificate and set Global Configuration > Server > Force HTTPS to Entire Site.
- Harden the web server. Rename
htaccess.txtto.htaccess, block PHP execution inimages,media,tmpand upload folders, and disable directory listing. Our Joomla .htaccess guide has the rules. - Protect the administrator area. Restrict
/administratorby IP or VPN where your team allows it, or add HTTP authentication in front of it. - Turn off error display on live sites. Set Global Configuration > Server > Error Reporting to None (or System Default with display off) so paths and queries are not shown to visitors.
- Back up and test restores. Keep automated, off-site backups of files and database, and restore one to staging at least once. See how to back up Joomla.
What are the most common Joomla security issues?
| Threat | How it usually gets in | Warning signs | Fix |
|---|---|---|---|
| Vulnerable extension (RCE, file upload, SQL injection) | Outdated editor, page builder or form extension with a public endpoint | Unknown PHP files, new admin users, spam pages | Update or remove the extension, then check for a backdoor |
| Stolen or guessed admin password | Reused passwords, no MFA | Logins at odd hours, changed settings | Reset passwords, enforce MFA, review Super Users |
| Outdated Joomla core | Skipped security releases | Pre-update check warnings, public CVEs for your version | Update to the latest 6.x or 5.4.x release |
| Backdoor left after an old hack | Incomplete cleanup | Reinfection after “cleaning” | Full file comparison against clean core and extension packages |
| Malicious redirects / SEO spam | Injected code in templates, .htaccess or database |
Visitors from Google sent to other sites, spam in search results | Clean files and database, request a review in Search Console |
| Weak hosting setup | Shared accounts, writable core files, old PHP | Other sites on the account also infected | Isolate the site, fix permissions, upgrade PHP |
Where does malware hide in a Joomla site?

Attackers hide code where owners and scanners rarely look. Check all of these, not just PHP files:
| Location | What to look for |
|---|---|
| JavaScript files (template, media, extension assets) | Appended code that writes an invisible <iframe> or loads a script from another domain |
Template files (index.php, layout overrides in html/) |
eval, base64_decode, long encoded strings, links you did not add |
images, media, tmp, cache folders |
Any .php, .phtml or .shtml file (these folders should hold media only) |
.htaccess files |
Extra redirects, auto_prepend_file lines, or an .htaccess file in every folder |
Database: #__content, #__modules |
<script> or <iframe> tags inside articles or Custom modules |
| Users table | Super Users or Administrators you did not create |
| Server cron jobs | Scheduled tasks that re-download malware after cleaning |
| Core files | Files that differ from a clean copy of the same Joomla version |
How do I search a Joomla site for malware? (commands)
Run these over SSH from the Joomla root on a copy of the site where possible. A match is a lead, not proof; legitimate extensions sometimes use base64_decode.
# PHP obfuscation commonly used by malware
grep -rlE "eval\(|base64_decode\(|gzinflate\(|str_rot13\(" --include="*.php" .
# Hidden iframes or injected scripts in JavaScript files
grep -rliE "<iframe|document\.write\(|String\.fromCharCode" --include="*.js" .
# PHP files where only media should be
find images media tmp cache -type f \( -name "*.php" -o -name "*.phtml" -o -name "*.shtml" \)
# Files changed in the last 7 days
find . -type f -mtime -7 -not -path "./cache/*" -not -path "./administrator/cache/*"
# Count .htaccess files (a normal site has very few)
find . -name ".htaccess" | wc -l
# Cron jobs for the hosting user
crontab -l
In the database (replace jos_ with your table prefix):
SELECT id, title FROM jos_content WHERE introtext LIKE '%<iframe%' OR `fulltext` LIKE '%<iframe%' OR introtext LIKE '%<script%';
SELECT id, title FROM jos_modules WHERE content LIKE '%<iframe%' OR content LIKE '%<script%';
Also check Users > Manage for unknown Super Users. In the summer 2026 SP Page Builder attacks, JoomShaper reported attacker accounts with @secure.local email addresses.
From our cleanup work: two real cases
Case 1: Google flagged the site, but every scan came back clean

A client’s site was flagged by Google as dangerous. Before contacting us, the client had scanned the PHP files and run one of the most popular Joomla security and firewall extensions. Neither found anything.
We found the cause in a JavaScript file. Code added to it created an invisible iframe that loaded content from another site. Because the file was JavaScript, not PHP, the PHP scan and the extension’s checks did not flag it. After removing the injected code and checking the other .js files, templates and database for similar iframes and scripts, we requested a review in Google Search Console.
Lesson: PHP-only scans and security extensions can miss JavaScript and asset injections. Check .js files, templates and the database for hidden iframes and scripts, then request a review in the Security issues report.
Case 2: An .htaccess file in every folder

A server was hacked and the attacker had created an .htaccess file in every folder. The site was running Joomla 3 on PHP 7.2, both long out of support. Instead of cleaning it file by file, we upgraded it to Joomla 6. We kept only the database content and the images and media, checked them first, and rebuilt everything else from clean sources. We then fixed the remaining issues on the new, supported version.
Lesson: on an outdated, heavily compromised site, a clean rebuild plus upgrade is more reliable than trying to find every infected file. See our Joomla upgrade service and the Joomla 3 to 6 upgrade guide.
What should I do if Google says “This site may be harmful”?

Google shows warning labels in search results, and browsers can show a red warning page, when it detects hacked content, malware or deceptive pages. To remove the warning, follow Google’s process in the Security issues report help page:
- Open Security issues in Google Search Console and expand each issue to see sample affected URLs. The list is only a sample.
- Inspect pages safely with the URL Inspection tool or
curl, because hacked pages can show different content to Google and to logged-in owners. - Clean the issue across the whole site, not just the sample pages, and fix every issue listed.
- Close the hole that let the attacker in (update, remove the vulnerable extension, rotate passwords).
- Select Request Review and describe what you found and fixed. Google says reviews can take from a few days to a few weeks.
How do I prevent reinfection?
- Find and fix the entry point before you clean, or the attacker will return.
- Replace core and extension files with fresh copies from official packages instead of editing infected files.
- Remove unknown users and rotate every password: Joomla admins, database, hosting, FTP/SFTP and SSH.
- Delete malicious cron jobs and extra
.htaccessfiles. - Update everything, then apply the hardening configs below.
- Keep monitoring: file-change alerts, Search Console email alerts and regular backups.
For the full recovery process, follow our guide to repair a hacked Joomla website.
Copy-paste Joomla security configs

Test these on staging first. They assume Apache 2.4 (the Require syntax) and a standard Joomla install.
1. Block PHP execution in upload folders. Save as .htaccess inside images, media and tmp:
<FilesMatch "\.(php|php[0-9]|phtml|phar|shtml)$">
Require all denied
</FilesMatch>
2. In the root .htaccess: disable directory listing and block direct access to configuration.php:
Options -Indexes
<Files "configuration.php">
Require all denied
</Files>
3. File permissions: directories 755, files 644, and configuration.php read-only:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 444 configuration.php
Joomla needs to write configuration.php when you save Global Configuration, so set it back to 644 temporarily when you change settings.
4. Security headers. Joomla 4 and later include the System – HTTP Headers plugin, where you can set these without editing server files. Or add them in .htaccess:
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Strict-Transport-Security "max-age=31536000"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
</IfModule>
Only add Strict-Transport-Security once the whole site works over HTTPS, and test a Content-Security-Policy separately, because a strict one can break editors and page builders.
What are the current Joomla security vulnerabilities? (October 2026)
Safe versions to run now (checked 15 October 2026)
- Joomla core: 6.2.0, or 5.4.10 if you are still on Joomla 5. The most recent core security fixes shipped in 6.1.4 and 5.4.9 (fixed 25 September 2026), including an MFA bypass through “remember me” cookies (CVE-2026-92227), SSRF vectors (CVE-2026-92222) and arbitrary directory deletion via cache purge (CVE-2026-90915). The release before that, 6.1.3 and 5.4.8, blocked SHTML uploads (CVE-2026-73373) and fixed another MFA bypass (CVE-2026-73337). Details are in the Joomla Security Announcements.
- JCE editor: CVE-2026-48907 (CVSS 10.0) let unauthenticated visitors upload and run PHP through editor profiles. It was fixed in 2.9.99.5 with extra hardening in 2.9.99.6. Run the current release: JCE 2.9.99.12, or JCE 3.0.2 on Joomla 5/6 (both released 7 October 2026). Older sites that cannot update can use the vendor’s free security patch.
- SP Page Builder: 6.8.0 (12 August 2026) fixed CVE-2026-67285, an unauthenticated PHP file-inclusion flaw (CVSS 9.2) affecting versions up to 6.7.1, and CVE-2026-65876, an unauthenticated SQL injection. JoomShaper also warns that versions 5.x to 6.6.0 could have been infected through an upload hole. Run 6.8.0 or later, then check for planted admin accounts and backdoor files.
If either extension was outdated on a live site during summer 2026, assume compromise until you have checked, using the malware checks above.
Is Joomla more secure than WordPress?
Joomla gives you more security controls in core: granular ACL, a separate administrator application and built-in MFA. WordPress can reach the same level, but usually with more plugins, and each plugin adds attack surface. WordPress is also attacked far more often, mainly because it runs far more websites, so automated bots target it first.
In practice, the platform matters less than maintenance. A patched WordPress site is safer than an abandoned Joomla site, and the other way round. Joomla’s advantage is that you need fewer third-party extensions to reach a strong baseline.
Do I need a Joomla security extension?
Not to be secure, but one can help. As our first case shows, it can also miss malware. A firewall or security extension can add login protection, file-change detection and blocking rules. It cannot replace updates, MFA, least-privilege accounts, server hardening and backups, and it cannot fix a site that already has a backdoor. Install one as an extra layer after the checklist, not instead of it.
Get help with Joomla security
If your site is already hacked, start with cleanup, then hardening. Infyways handles hacked Joomla site recovery, security hardening and Joomla 5/6 upgrades on a staging copy first, and replies within 12 hours. See our Joomla support and maintenance plans or our Joomla upgrade service.
Frequently asked questions
How do I secure my Joomla website?
Update Joomla core and all extensions, remove unused extensions, enable Multi-factor Authentication for administrators, limit Super Users, run PHP 8.3+ for Joomla 6, force HTTPS, block PHP execution in upload folders, restrict the administrator area and keep tested off-site backups.
Is Joomla secure in 2026?
Yes, when it is maintained. Joomla core has a Security Strike Team and regular security releases. Most hacked Joomla sites were running an outdated extension or core version, not a flaw in current Joomla.
Which Joomla version is the most secure?
The latest release of a supported branch. As of 15 October 2026 that is Joomla 6.2.0, or 5.4.10 for sites still on Joomla 5. Joomla 3 and Joomla 4 no longer receive security updates.
How do I know if my Joomla site is hacked?
Look for unknown administrator accounts, PHP files in image or media folders, changed core files or .htaccess, spam pages in Google, unexpected redirects and security warnings in Google Search Console.
Does Joomla have two-factor authentication?
Yes. Joomla 4.2 and later include Multi-factor Authentication in core, with authenticator apps, passkeys/WebAuthn, YubiKey and email codes.
Do I need a security extension for Joomla?
No, but it can add an extra layer. It does not replace updates, MFA, server hardening and backups.
Is Joomla more secure than WordPress?
Joomla includes more security controls in core, such as granular ACL and a separate administrator application, and it is targeted less often. Both are secure only when core, extensions and hosting are kept up to date.
Why didn’t my security extension detect the malware?
Many scanners focus on PHP files and known signatures. Malware injected into JavaScript files, templates or database content, such as a hidden iframe, can pass those checks. Search .js files, templates and the #__content and #__modules tables as well.
Should I clean a hacked Joomla 3 site or rebuild it?
Usually rebuild. Joomla 3 no longer receives security updates, so cleaning leaves you on vulnerable software. Keep the checked database content and media, rebuild the rest on Joomla 6 from clean sources, and update the extensions.
What should I do first if my Joomla site is hacked?
Take the site offline or restrict access, make a backup for evidence, then clean files and database, remove unknown users, rotate all passwords, update everything and harden the site. Follow our guide to repair a hacked Joomla website.












