[wp-trac] [WordPress Trac] #43320: Harden API requests against man-in-the-middle attacks

WordPress Trac noreply at wordpress.org
Sun Feb 18 05:30:50 UTC 2018


#43320: Harden API requests against man-in-the-middle attacks
-------------------------+------------------------------
 Reporter:  iandunn      |       Owner:
     Type:  enhancement  |      Status:  new
 Priority:  low          |   Milestone:  Awaiting Review
Component:  Security     |     Version:  3.7.1
 Severity:  minor        |  Resolution:
 Keywords:               |     Focuses:
-------------------------+------------------------------

Comment (by dakami):

 (A bug finder asked me to comment.)

 Insecure updates are a fairly settled matter at this point.  The network
 is not allowed to achieve arbitrary code execution.  I'm not aware of any
 mildly popular operating system or programming language that neither signs
 its packages nor operates over HTTPS, sometimes both.

 Wordpress is more popular than most OS's and languages.  (Congratulations,
 I use it myself.)

 Package signing is a fairly significant undertaking, and it's my
 understanding there is also content from http://api.wordpress.com that
 gets rendered in an administrative context thus allowing takeover.  This
 is the common class of bugs you see here -- nailing down _everything_ that
 needs to get signed and authenticated is difficult.

 "Just use HTTPS" is a completely reasonable path.  Perfect, good, etc.

 The goalposts here have indeed moved; in 2018, sites not using HTTPS are
 being outright declared insecure by Chrome.  Google's not wrong.

 I'm sympathetic to the concern that there are servers with broken TLS
 stacks.  At this point, the universality of secure updates should reduce
 that risk to tolerable levels.  But you should be able to measure it at
 the https://api.wordpress.com endpoint -- look for TLS sessions that do
 not transition into exchanging data.  I can provide Wireshark scripts to
 do this if it would be helpful.  It is also feasible to press into service
 other stacks that should be ambiently available if PHP/libcurl is
 malfunctioning.  Python comes to mind as a common coinstall due to its
 status as OS dependency, and at the extreme there are pure Python TLS
 stacks you could stub in.

 Realistically though, I think you'll find from https://api.wordpress.com
 data that the breakage rate is pretty low, just because the same
 dependencies you have for TLS are shared by other codebases that must
 work.  And if things are that broken, it probably is the sort of thing you
 should ask an administrator to fix.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/43320#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list