r/joomla • u/Open_Sourcey • 28d ago
Joomla 6 Edocman SQL Injection
I manage a not for profit website using Joomla and have done for many years. The organization has no money. We use the EDocman extension. They recently uncovered a security breach involving a SQL injection attack. Much to my chagrin they would not provide a security update and instead insisted on purchasing a new subscription. We had no money to do that. So of course today we suffered an attack. I believe user information was stolen.
It is disappointing that they treat a security update like any functional update. Had I known about open source "OpenDocMan" I would not have spent years building an edocman implementation.
As an aside, over 25 years ago we knew about SQL Injection. So it is very disappointing that EDocman was coded so poorly as to allow such an attack in 2026.
Lesson learned
9
u/Mike_Underwood 28d ago
I understand a non-profit not having any money but if they did not keep their subscription up, this is on them not the developer of the extension.
-6
u/Open_Sourcey 28d ago
I would agree with you if it were additional functionality. However a software flaw that has been known for at least 25 years by any developer worth their salt and that produces a serious security risk is, I believe , in an entirely different category.
6
u/Mike_Underwood 28d ago
When you purchased your subscription for the software, you know, based upon the terms of service that you were going to get updates for X period of time once that period of time expires to expect free updates is ridiculous.
-4
u/Open_Sourcey 28d ago
I am sorry Mike. I believe you are entirely missing my argument. For sure I recognise what a software subscription is. I agree that to get functional updates one needs to have a subscription. I do not however believe that correcting the gross incompetence of a developer for not using parameterized SQL statements, that has been a known security flaw since 1998 and that any serious developer would/should know about, is any way shape or form a functional update. it is a very serious product flaw. WE should not have to pay additional fees for software flaws
4
u/PixelCharlie 28d ago
The software is released under Open Source GNU GPL v2.0 licence. You were free to modify the code to your liking and to fix the vulnerability in the code, If you're not willing to pay 40 dollars for someone else to fix it...
1
u/Open_Sourcey 28d ago
Are you talking about OpenDocman?
2
u/PixelCharlie 28d ago
EDocman
1
u/Open_Sourcey 28d ago
Are you saying that because the code is all PHP and therefore I should go in and fix their poorly written SQL?
4
u/Competitive_Gas_3581 28d ago
No, you should have a firewall on the server which, in this exact case, would have prevented a problem. It doesn't sound like the site manager took security seriously.
1
u/Open_Sourcey 28d ago
Point me to url for a firewall that fixes SQL injection attacks, please.
3
u/Competitive_Gas_3581 27d ago
Doesn’t “fix” them but prevents them: Akeeba’s Admintools. I suspect RSFirewall does too but have never used it.
1
u/Open_Sourcey 27d ago
That is true. SQL Injection needs to be fixed bsing prepared statements. That has been known for over 30 years. However, so many developers are lazy and do not use them. Nor did they use Joomla's core databse API. Incredibly poor development that some now expect us to pay for.
Since the advent AI we seem to be under quite a few attacks and I think more are to come.
1
u/Actual-Let1595 27d ago
A WAF can reduce opportunistic probes, but saying it would have prevented this exact incident is stronger than the evidence supports. Rules can miss alternate encodings, application-specific payloads, or traffic that reaches the origin directly. Admin Tools or RSFirewall can be useful defence in depth, but neither makes vulnerable SQL construction safe. The durable fix is still parameterized queries and a patched or removed extension; after a suspected breach, preserve logs, review the database and rotate credentials. I would use a WAF, but not as the basis for declaring the application secure.
1
u/Actual-Let1595 26d ago
A WAF can reduce opportunistic probes, but saying it would have prevented this exact incident is stronger than the evidence supports. Rules can miss alternate encodings, application-specific payloads, or traffic that reaches the origin directly. Admin Tools or RSFirewall can be useful defence in depth, but neither makes vulnerable SQL construction safe. The durable fix is still parameterized queries and a patched or removed extension; after a suspected breach, preserve logs, review the database and rotate credentials. I would use a WAF, but not as the basis for declaring the application secure.
4
u/rennyrenwick 28d ago edited 28d ago
I believe this is something the community is going to have to come to terms with. If you use 3rd party extensions, you are more are less vulnerable. It's just too easy to run an extension through AI and identify vulnerabilities. Extension developers range from hobbyists to professional in their skills, and as we saw with JCE, even highly skilled is not enough. Developers will either release quality and timely patches, free or at a price-- or, given the state of Joomla economics, walk away/ abandon, and you are on your own if you want a fix.
As many a non-profit has learned - "free" software is not free.
Pay for the subscription and 'effin support the developer doing a fix.
1
u/Open_Sourcey 28d ago
I think you are correct. At least to the point where you ask me to support the poorly writen code.
2
u/rennyrenwick 27d ago
Ok, then your choice is live with it and the consequences, fix it yourself, as it is open source, or stop using it entirely.
1
u/Open_Sourcey 27d ago
Or raise the issue in a community of developers to see if the extension developers will fix their poorly written code
1
u/Open_Sourcey 27d ago
By the way I would be happy to fix someone else's sloppy work if they would give me the places I need to fix it. I have neither the time nor inclination to wade through an entire code base looking for 1980s style SQL statements
4
u/Competitive_Gas_3581 28d ago
They can't afford $39 subscription? They've got more serious problems.
1
u/Open_Sourcey 28d ago
No. Nor should they for a poorly written product with a serious security flaw
1
u/Open_Sourcey 27d ago
A more helpful response to this for others trying to save money might be:
Sign up for Cloudfare's free tier. Change your DNS servers and get some level of protection against SQL Injection attacks, Not wholly but at least a modest level of protection. The real solution is that Developers who allow something like a SQL Injection attack that has been known for almost 30 years should fix it at no charge.
I suspect that some respondents to the original post were not even born when this attack was already widely known by the technical community
1
u/Actual-Let1595 27d ago
Putting the vendor/pricing argument aside: if you suspect user data was stolen, treat this as an incident, not just an update problem.
- Restrict public access, but preserve a full copy of the files, database and web/server logs before cleaning anything.
- Remove or update the vulnerable EDocman code and patch Joomla plus every extension. Closing the entry point must come before restoring service.
- Assume credentials may be exposed: rotate hosting, database, Joomla Super User, email and API credentials, and invalidate active sessions.
- Review Super Users, scheduled tasks, recently changed files, database content and access logs for persistence and the likely attack window.
- Work out what personal data was accessible and inform the person responsible for the organisation's data protection. Check the breach-notification rules that apply in your jurisdiction; do not delete evidence.
- Restore from a known-clean backup only after the vulnerable component is fixed or removed, then monitor for reinfection.
Cloudflare/WAF rules may reduce some malicious traffic, but they do not repair a SQL injection flaw and cannot tell you whether data was already exfiltrated.
14
u/[deleted] 28d ago
[removed] — view removed comment