[wp-trac] [WordPress Trac] #58718: A million dollars security question to Matt Mullenweg about Libsodium and WP updates/encryption interception

WordPress Trac noreply at wordpress.org
Wed Jul 5 15:54:04 UTC 2023


#58718: A million dollars security question to Matt Mullenweg about Libsodium and
WP updates/encryption interception
---------------------------------------+-----------------------------
 Reporter:  KestutisIT                 |      Owner:  (none)
     Type:  defect (bug)               |     Status:  new
 Priority:  normal                     |  Milestone:  Awaiting Review
Component:  Security                   |    Version:  6.2.2
 Severity:  critical                   |   Keywords:  needs-patch
  Focuses:  privacy, coding-standards  |
---------------------------------------+-----------------------------
 A million dollar question for you. ExpressVPN is using couple encryption
 methods, one of them is ChaCha20/Poly1305. Wikipedia says that
 ChaCha20-Poly1305 is implemented in libsodium. Which is the core
 encryption for security for WordPress and PHP (see tickets -
 https://core.trac.wordpress.org/ticket/39309, also #45806 - ticket ). Matt
 Mullenweg, as I remember wrote that he paid 420,000 USD to Paragon
 Initiative Enterprises ( https://paragonie.com / github.com/paragonie ,
 info at paragonie.com, located at - 2991 35th Ave NE, Naples, Florida, 34120,
 United States. Phone - +1 (239) 234-6745 ), and said it trust their
 experience.

 Today I discovered that hackers at Bite Group Telecommunications center
 (owner one of 3 biggest telecommunication providers in Lithuania and many
 Europe countries) are able to intercept and stop delivering images
 encrypted with ChaCha20/Poly1305 encryption cipher, over Lightway UDP, I
 tested with OnlyFans (we all know that creepy psychopats sits at Bite
 Group telecomuncations centers in Lithuania that wants to access images
 not suppose to be given to then). But cannot do the same with AES. So if
 the bad guys at Bite can hack ChaCha20/Poly1305, meaning that anything
 that is encrypted with libsodium is also can be changed and delivered
 differently that expected (including UPDATES AUTOMATICALLY SIGNING
 WORDPRESS CORE). So million dollar question - who is responsible for all
 this and who will pay the fines. As it is terrisome news on WordPress and
 PHP security.

 ERIC MANN WROTE 5 YEARS AGO that it is peer reviewed and recommended:


 "(Replying to paragoninitiativeenterprises):
 I have not suddenly had enough of a financial windfall to be able to pay
 NCC Group, Kudelski Security, Least Authority, or another trusted firm
 $2,000-$4,000 per day for a N-week engagement (where N >= 2) to audit
 sodium_compat.
 I started discussions with Mozilla about covering such an audit last year.
 It never went anywhere.
 I would absolutely love if an organization with the necessary financial
 resources would contribute to such an audit. Sodium is now in PHP as a
 core extension and is fast becoming the standard used for secure crypto in
 our community. It's fast, secure, and well-supported in a variety of
 languages. Even projects like GNIIBE-org GnuPG are moving to the crypto
 primitives exposed by Sodium.
 Even without a formal audit, this is a well-established, well-known
 library. It's baked into Joomla, CodeIgniter, and many other projects -
 just take a look at Packagist! Some modern projects will just push devs
 towards using the native PHP 7.2 support for Sodium or the Pecl extension
 for PHP7+ ... WordPress can't do either of those because of our support
 for even older versions of PHP. sodium_compat literally exists to allow
 devs who can't use 7.2 or the Pecl package to still use secure crypto.
 What sort of peer review has the sodium_compat library had?
 Aside from Michael Babker, a lot of security/cryptography experts have
 looked at it on some capacity.
 However, none of them have given public statements of endorsement. I'll
 ask some of them to comment on whether or not they would recommend it.
 I've written extensively about both Sodium itself and the sodium_compat
 module as an efficient polyfill for developers who can't use the modern
 extensions available in PHP >= 7.0. By "extensively" I mean several
 references in publications like php[architect] and even an book on secure
 PHP application development.
 I work on cryptographically-secure tools for a living. I write PHP code
 for a living. I wouldn't recommend sodium_compat unless I was confident in
 it. My job literally depends on the quality of this library. I've reviewed
 several Sodium compatibility libraries while building out our team's
 products (in multiple languages, including Go, Java, and Ruby).
 sodium_compat is head and shoulders about the rest in terms not just of
 quality but also coverage of the Sodium library itself. Many others merely
 implement a handful of functions for a specific project; sodium_compat
 provides _full_ support for all of Sodium's functionality, meaning
 developers aren't limited to just one part of the library.
 Whenever PHP and WordPress developers ask me about crypto, the first thing
 I tell them to do is upgrade to PHP 7.2 so they can use Sodium. Even then
 I encourage the use of sodium_compat merely so their code is more portable
 - it will use the native extension if available, fall back to the Pecl
 module if needed, then leverage a PHP-based implementation as a last
 resort.
 Has the library undergone peer review? Yes.
 Is it something other devs in the crypto world recommend? Yes.
 Is this something we should have in WordPress so WP devs can be using
 quality, industry-standard best practices when it comes to crypto? YES!"

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/58718>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list