If you develop Joomla extensions, sooner or later you will probably receive an email that starts with something like:
“We have discovered a security vulnerability in your extension.”
For many developers this is the first time such a report receives their inbox and that moment is very uncomfortable. I'm writing here from my own experience, and it was during my well deserved family holiday. You may immediately start wondering: How did I miss this? How could I have written this code? What will users think? Does this mean my extension is insecure?
Security issues happen to everyone
Modern software is complex. Even a relatively small Joomla extension can involve the CMS, database, permissions, HTTP requests, user input, third-party libraries and many different configurations. It is simply impossible to anticipate every possible way someone might try to abuse your code.
And this is not limited to small or inexperienced projects. As I wrote this article, the Linux kernel (which powers almost all of our Joomla servers) has183 critical vulnerabilities.
![]()
The number of reported vulnerabilities does not automatically tell you how good or bad a project is. In fact, an active security community finding and reporting problems can be a sign of a healthy project.
Someone finding a vulnerability can be a good thing
Security researchers look at software differently from developers.
As developers, we usually test the expected workflow:
A user enters something, the application processes it, and the expected result is displayed.
A security researcher asks:
What if I change this ID? What if I'm not logged in? What if I don't use the UI? What if I have a different permission? What happens if I send completely unexpected input?
That perspective is incredibly valuable. A missing permission check or an insufficient input validation can be very easy to overlook during normal development, even when the code looks perfectly reasonable. When someone reports such an issue, they have potentially found it before someone with malicious intentions does.
Communication is key
One of the most important parts of handling a security vulnerability is communication. A good security process isn't just about fixing the code. It is also about communicating with the person who reported the issue and, when appropriate, with your users.
When receiving a report:
- Take it seriously, but don't take it personally.
- Communicate with the researcher and make sure you understand the issue.
- Ask questions if something is unclear.
- Confirm when you have reproduced the problem.
- Let them know when you are working on a fix.
- Release the fix and clearly communicate what users need to do.

You don't need to immediately have all the answers. Saying “Thank you for the report. We are investigating this and will get back to you” is already much better than ignoring the report. Communication builds trust. The extension developers manual has an extensive article about best practices how to deal with security issues. Please read that carefully, it can help you avoiding mistakes in the first place.
Learn from every report
The best outcome isn't simply fixing the reported line of code.
Ask yourself:
Why was this vulnerability possible in the first place?
Perhaps you were missing an authorization check in one controller. When investigating, you might discover that the same pattern exists elsewhere. Fixing those additional cases can make the entire extension more secure. A security report can therefore improve not only your code, but also your development and testing practices.
Don't measure yourself by the number of security reports
Having received no security reports doesn't necessarily mean your extension has no security issues. It may simply mean nobody has found one yet, or nobody has reported it. Security is an ongoing process, which has accelerated massively with AI. New features, dependencies and integrations constantly introduce new possibilities.
The goal shouldn't be to become the developer who never receives a security report. The goal should be to become the developer who can receive one, investigate it without ego, communicate openly, fix it properly and learn from it.
A security vulnerability doesn't make you a bad developer. How you respond to it is what matters.

Comments