[wp-trac] [WordPress Trac] #39309: Secure WordPress Against Infrastructure Attacks
WordPress Trac
noreply at wordpress.org
Mon Jul 15 11:46:42 UTC 2019
#39309: Secure WordPress Against Infrastructure Attacks
------------------------------------------+---------------------
Reporter: paragoninitiativeenterprises | Owner: pento
Type: task (blessed) | Status: closed
Priority: normal | Milestone: 5.2
Component: Upgrade/Install | Version: 4.8
Severity: critical | Resolution: fixed
Keywords: has-patch | Focuses:
------------------------------------------+---------------------
Comment (by withinboredom):
@paragoninitiativeenterprises
My only concern with Gossamer is specific to:
> Rewinds the ledger to the genesis block and plays through each
subsequent update to ensure that the final state that WordPress sees is
deterministic.
Verification of these blocks takes some time. Having lots of them results
in an indeterminate amount of time to do so. This could mean that a DOS is
as simple as doing many releases.
> Plugin/theme developers would need tooling to generate/manage their
signing keys.
Another DOS attack vector (that's used in the wild with GPG, I can't
recall the name of it right now), is to simply sign a key with hundreds,
or even thousands of other randomly generated keys. Verifying the
signatures takes time and can even keep a very powerful computer busy for
quite a while (months?). This could be exploited by building or purchasing
a simple but useful plugin and then updating the signing key to one that
can DOS the entire network and all sites.
As long as these are mitigated while still maintaining security, we'll
probably benefit from something like Gossamer.
Here are my issues with code signing, in general:
The keys expire, which is ridiculous. Either the release was authentic
when it was released or it wasn't. The fact that some amount of time
passed doesn't make it any less authentic.
When a package is signed by a developer, we have to assume that the keys
have been protected. Generally, they might be, or they might not be. It's
probably better to keep the keys in an HSM and let that handle signing.
The Foundation is probably in a better position to protect the keys than
the average developer.
By that token, developers could get issued a one-time signing key that's
signed by the key protected in hardware. That key would be revoked if not
used in a certain amount of time or if used more than once. It could also
be revoked by emailing/texting the developer with a one-click link when
issued.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/39309#comment:93>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list