[wp-meta] [Making WordPress.org] #6939: Reporting Security vulnerabilities in plugins
Making WordPress.org
noreply at wordpress.org
Thu Apr 20 10:41:38 UTC 2023
#6939: Reporting Security vulnerabilities in plugins
------------------------------+---------------------
Reporter: dd32 | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone:
Component: Plugin Directory | Resolution:
Keywords: 2nd-opinion |
------------------------------+---------------------
Comment (by fearzzzz):
Replying to [comment:3 dd32]:
> I would like to think that a 'punishment' system shouldn't be required.
If a reporter was to consistently make false reports then that would be
within reason to have their account permanently banned or reporting
permission limited.
I'm sure that this is a «must-have» option, even if it's not needed in the
very near future. Sooner or later, but someone will try to use this
reporting functionality for, let's say, personal purposes. At this point,
limited reporting permissions sounds really good. Like, you know, «your
account isn't banned and we're not telling you to get out, but you're
doing something wrong».
> Per-field or as the entire submission?
Good question. I think the proper title is a must over here, also it must
be informative. I like how WPScan do it, i.e.: «WooCommerce Payments <
5.6.2 - Unauthenticated Privilege Escalation», «WZone - Lite <= 3.1 -
CSRF» and so on. A well-written title will give us all the basic
information we need: name of the vulnerable component, range of vulnerable
versions, minimum required user role to exploit the vulnerability, and the
type of discovered vulnerability. IMO, this should be the «gold standard».
> Is there any "standardised" .txt/.md format that some use?
Many researchers are guided by the template that is required for Exploit-
DB submits, but this only applies to the report header, and not everyone
fills in the required fields with the correct data. So there is no single
standard here. For example, I use my own template for reports.
> what to do with the situation when the vendor doesn't understand what
security/vulnerability is and what is required of him, and is anything
required at all? Quite a common case.
>> This is unfortunately something that the plugin security team has to
deal with often.
>> Quite often suggested fixes are ignored and insecure fixes are made,
which requires further changes from the author.
>> Educating plugin authors can only be done through better documentation
of the problem, and examples of how to resolve it.
Yeah, I understand.
> In the case of WordPress.org plugins, if a author is not willing to fix
something that the plugins team deems a security issue, then they can
close the plugin. If the author wants their plugin, they need to work with
everyone to ensure it's secure.
Sounds legit.
> Bad choice of words on my part. I meant in terms of researcher. This
should be open to anyone, whether they're an employed security researcher,
an individual researcher, or a vehicle mechanic who understand code.
Awesome, thanks for the clarification!
> Currently the plugins team take action in response to public disclosures
mostly as the team was not made aware of the issue before hand (there are
some deliberate 0day'ers) or due to being a volunteer team, did not get to
the email in time (There have been cases where we're alerted a few days
before the disclosure timeout happens, and some where the notification was
misunderstood).
Yeah, I know about this situation.
> there are some deliberate 0day'ers
Honestly speaking, sometimes I do this because there are simply no other
options left. It's a rare case now, but still.
> That's something you can help greatly with! And why I'm open to
discussion on this, rather than saying "This is what needs to be built and
this is what everyone gets".
Sounds good! I need to think about it.
> I suggested in the ticket a profile entry for reporting security issues,
but I intentionally didn't suggest a threshold to get a badge of some
form, or a count of submitted reports, to partially remove the desire to
submit many reports for extreme-low-effort issues for an 'awesome badge'.
> Perhaps down the line we'd be able to look at a `Security Researcher`
badge for those who submit enough valid reports against WordPress Core /
Plugins / Themes / etc, with a percentage-accepted criteria, to encourage
reporters to only submit things that are actually valid and tested.
If it's a badge of distinction to be earned through honest and hard work,
that would be great. I like it.
> maybe it makes sense to implement some kind of rating that displays the
average response time to an incident of the plugin author? It would be
great to somehow reward the plugin author for a quick response to an
incident with profile badge for example and highlight this information.
>> Interesting idea! This is probably not something we could do for the
first iteration, again, due to lack of data points. But rewarding plugin
authors who do things right is definitely worthwhile.
Awesome!
> It would be great to somehow «force» plugin authors to write a honest
changelog and not ignore/silence any discovered and confirmed security
issues. Right now this isn't only disrespectful to security researchers
and regular users/clients, but also creates confusion that could have been
avoided.
>> I do agree, and in a way that is partly the reason for this ticket. The
plugins team are often not aware of plugins that have significantly severe
vulnerabilities until public disclosure and it being talked about widely,
simply as they're never made aware of it.
>>
>> Currently [https://developer.wordpress.org/plugins/wordpress-org
/plugin-security/ the only documentation] we have on responding to a
security report is not very direct on what they should do in this regard.
Updating that page to strongly encourage changelog entries and crediting
the reporter should be done. If you have any suggestions for wording
changes to make to that page, come along to #pluginreview in Slack with
them and we'll get it sorted.
Count me in. I just need some time to think about this task.
> Something that we could do here however, is forcibly prefix the `Upgrade
Notice` for a security fix with information of that regard, or ensure the
changelog mentions `Security` for such plugins.
> This is one of those situations where we currently have limited ability
to control the messaging from plugin authors, while we can encourage them
to be transparent, we still have to rely upon them wanting to work with
us.
>
> I think this is something we'd have to look at as a follow up, once we
see how plugin authors actually respond to it. With some well documented
steps they should follow (perhaps a checklist) many are likely to be more
willing to.
Yeah, I understand. From my personal experience, I would say that the
first thing to do here is to «flip the script»:
''Someone found a vulnerability in your plugin? Yes. But this doesn't mean
that you write «bad code» or you are a «bad person». This is a great
opportunity to make your product more secured, better and join the
community united by a common idea.''
Many developers seem ashamed of their lack of knowledge, of their
mistakes, and this has its consequences on many internal processes. But
silence or ignoring security issues only makes the situation worse.
--
Ticket URL: <https://meta.trac.wordpress.org/ticket/6939#comment:5>
Making WordPress.org <https://meta.trac.wordpress.org/>
Making WordPress.org
More information about the wp-meta
mailing list