[wp-trac] [WordPress Trac] #28507: Secure oEmbeds

WordPress Trac noreply at wordpress.org
Wed Mar 11 02:08:00 UTC 2015


#28507: Secure oEmbeds
----------------------------+-----------------------------
 Reporter:  johnbillion     |       Owner:  johnbillion
     Type:  task (blessed)  |      Status:  accepted
 Priority:  normal          |   Milestone:  Future Release
Component:  Embeds          |     Version:
 Severity:  normal          |  Resolution:
 Keywords:                  |     Focuses:
----------------------------+-----------------------------
Description changed by johnbillion:

Old description:

> We need to audit our oEmbed providers and determine:
>
>  * Which ones don't support embedding an `https` URL
>  * Which ones don't support embedding content over SSL
>
> If we have providers in core which do not support embedding content over
> SSL then we (or the WP.com team) should make contact and see if they're
> open to implementing it. This is pretty much a prerequisite for #28249 as
> it stands.
>
> ----
>
> Problem providers:
>
> ||=Provider=||=Core supports HTTPS URL=||=Endpoint recognises HTTPS
> URL=||=Embed supports HTTPS=||=Notes=||
> ||blip.tv||'''No'''||'''[http://blip.tv/oembed?url=https://blip.tv/stylestar/shine-6866879
> No]'''||-||Their website resolves over SSL but is broken||
> ||dailymotion.com||Yes||[http://www.dailymotion.com/services/oembed?url=https://www.dailymotion.com/video
> /x1z6k7r_putin-says-ukrainian-gas-price-demands-force-talks-into-dead-
> end_news Yes]||Nearly||Embeds are served over HTTPS if the oEmbed
> endpoint uses HTTPS
> ([https://www.dailymotion.com/services/oembed?url=https://www.dailymotion.com/video
> /x1z6k7r_putin-says-ukrainian-gas-price-demands-force-talks-into-dead-
> end_news example])||
> ||dai.ly||'''No'''||'''[http://www.dailymotion.com/services/oembed?url=https://dai.ly
> /x1z6k7r_putin-says-ukrainian-gas-price-demands-force-talks-into-dead-
> end_news No]'''||-||Invalid SSL certificate (points to dailymotion.com)||
> ||smugmug.com||Yes||[http://api.smugmug.com/services/oembed?url=https://gilmarphotography.smugmug.com/Galleries
> /Hamburger-Hat/i-TtMhZ3v/A&format=json Yes]||'''No'''||-||
> ||hulu.com||Yes||[http://www.hulu.com/api/oembed.json?url=https://www.hulu.com/watch/647281
> Yes]||'''No'''||Invalid SSL certificate (points to Akamai)||
> ||revision3.com||'''No'''||'''[https://revision3.com/api/oembed?url=https://revision3.com/sourcefednerd
> /game-of-thrones-the-watchers-on-the-wall-reviewed/ No]'''||-||Mixed
> content when viewing the site over HTTPS.||
> ||photobucket.com||'''No'''||[http://photobucket.com/oembed?url=https://i199.photobucket.com/albums/aa117/vchartman/weather/bearintherain-1.gif
> Yes]||'''No'''||Site doesn't resolve over HTTPS||
> ||poll.fm||Yes||[https://polldaddy.com/oembed/?url=https://poll.fm/4tzp6
> Yes]||Yes||Invalid SSL certificate (points to polldaddy.com)||
> ||funnyordie.com||Yes||[http://www.funnyordie.com/oembed?url=https%3A%2F%2Fwww.funnyordie.com%2Fvideos%2F82e2ad3eaa
> %2Fthrowing-shade-47-summer-vacay-and-guest-mo&format=json
> Yes]||'''No'''||Invalid SSL certificate (points to Akamai)||
> ||instagr.am||Yes||'''[https://api.instagram.com/oembed?url=https://instagr.am/p/rR9ZOSCjc_/
> Yes]'''||-||Invalid SSL certificate (points to instagram.com)||
> ||imgur.com||Yes||[http://api.imgur.com/oembed?url=https://imgur.com/gallery/9dlrs
> Yes]||'''No'''||-||
> ||collegehumor.com||Yes||[http://www.collegehumor.com/oembed.json?url=https://www.collegehumor.com/video/6970155
> /collegehumor-all-nighter-14-batman-of-the-office Yes]||'''No'''||-||
> ||ted.com||Yes||[http://www.ted.com/talks/oembed.json?url=https://www.ted.com/talks/jill_bolte_taylor_s_powerful_stroke_of_insight.html
> Yes]||Yes||Almost there, just some mixed content in embeds||
> ||animoto.com||Yes||[http://animoto.com/oembeds/create?url=https://animoto.com/play/MlRRgXHhoT8gOZyHanM6TA&format=json
> Yes]||Yes||HTTPS embeds by default, but mixed content when playing an
> embed||
> ||video214.com||Yes||[http://animoto.com/oembeds/create?url=https://video214.com/play/MlRRgXHhoT8gOZyHanM6TA&format=json
> Yes]||Yes||HTTPS embeds by default, but mixed content when playing an
> embed||
> ||kck.st||Yes||[https://www.kickstarter.com/services/oembed?url=https://kck.st/1zdKEWP
> Yes]||-||Domain isn't available over HTTPS||
>
> Recently fixed providers:
>
>  * '''flic.kr''' - HTTPS everywhere. Regex corrected in r28834.
>  * '''slideshare.net''' - HTTPS embeds since r28834.
>  * '''wordpress.tv''' - HTTPS embeds for HTTPS URLs.
>  * '''meetup.com''' and '''meetu.ps'''- HTTPS embeds for HTTPS URLs.
>  * '''instagram.com''' - HTTPS everywhere since r31710.
>
> Ok providers:
>
>  * '''youtube.com''' and '''youtu.be''' - HTTPS embeds via the
> `scheme=https` parameter.
>  * '''vimeo.com''' - Embeds are protocol-relative.
>  * '''flickr.com''' - HTTPS everywhere (same for flic.kr).
>  * '''polldaddy.com''' - Embeds are served over HTTPS if the parent
> container uses HTTPS. Effectively protocol-relative via JavaScript.
>  * '''twitter.com''' - HTTPS everywhere.
>  * '''soundcloud.com''' - HTTPS everywhere. (Minor note: their oEmbed
> response includes an `http` URL for the thumbnail on their CDN, but it
> resolves over `https` if you change it.)
>  * '''rdio.com''' and '''rd.io''' - HTTPS embeds by default.
>  * '''spotify.com''' - HTTPS everywhere.
>  * '''issuu.com''' - Embeds are served over HTTPS if the parent container
> uses HTTPS. Effectively protocol-relative via JavaScript.
>  * '''mixcloud.com''' - Embeds are protocol-relative.
>  * '''tumblr.com''' - Embeds are partly HTTPS and partly protocol-
> relative.
>  * '''vine.co''' - HTTPS everywhere.
>  * '''scribd.com''' - HTTPS embeds by default.

New description:

 We need to audit our oEmbed providers and determine:

  * Which ones don't support embedding an `https` URL
  * Which ones don't support embedding content over SSL

 If we have providers in core which do not support embedding content over
 SSL then we (or the WP.com team) should make contact and see if they're
 open to implementing it. This is pretty much a prerequisite for #28249 as
 it stands.

 ----

 Problem providers:

 ||=Provider=||=Core supports HTTPS URL=||=Endpoint recognises HTTPS
 URL=||=Embed supports HTTPS=||=Notes=||
 ||blip.tv||'''No'''||'''[http://blip.tv/oembed?url=https://blip.tv/stylestar/shine-6866879
 No]'''||-||Their website resolves over SSL but is broken||
 ||dailymotion.com||Yes||[http://www.dailymotion.com/services/oembed?url=https://www.dailymotion.com/video
 /x1z6k7r_putin-says-ukrainian-gas-price-demands-force-talks-into-dead-
 end_news Yes]||Nearly||Embeds are served over HTTPS if the oEmbed endpoint
 uses HTTPS
 ([https://www.dailymotion.com/services/oembed?url=https://www.dailymotion.com/video
 /x1z6k7r_putin-says-ukrainian-gas-price-demands-force-talks-into-dead-
 end_news example])||
 ||dai.ly||'''No'''||'''[http://www.dailymotion.com/services/oembed?url=https://dai.ly
 /x1z6k7r_putin-says-ukrainian-gas-price-demands-force-talks-into-dead-
 end_news No]'''||-||Invalid SSL certificate (points to dailymotion.com)||
 ||smugmug.com||Yes||[http://api.smugmug.com/services/oembed?url=https://gilmarphotography.smugmug.com/Galleries
 /Hamburger-Hat/i-TtMhZ3v/A&format=json Yes]||'''No'''||-||
 ||hulu.com||Yes||[http://www.hulu.com/api/oembed.json?url=https://www.hulu.com/watch/647281
 Yes]||'''No'''||Invalid SSL certificate (points to Akamai)||
 ||photobucket.com||'''No'''||[http://photobucket.com/oembed?url=https://i199.photobucket.com/albums/aa117/vchartman/weather/bearintherain-1.gif
 Yes]||'''No'''||Site doesn't resolve over HTTPS||
 ||poll.fm||Yes||[https://polldaddy.com/oembed/?url=https://poll.fm/4tzp6
 Yes]||Yes||Invalid SSL certificate (points to polldaddy.com)||
 ||funnyordie.com||Yes||[http://www.funnyordie.com/oembed?url=https%3A%2F%2Fwww.funnyordie.com%2Fvideos%2F82e2ad3eaa
 %2Fthrowing-shade-47-summer-vacay-and-guest-mo&format=json
 Yes]||'''No'''||Invalid SSL certificate (points to Akamai)||
 ||instagr.am||Yes||'''[https://api.instagram.com/oembed?url=https://instagr.am/p/rR9ZOSCjc_/
 Yes]'''||-||Invalid SSL certificate (points to instagram.com)||
 ||imgur.com||Yes||[http://api.imgur.com/oembed?url=https://imgur.com/gallery/9dlrs
 Yes]||'''No'''||-||
 ||collegehumor.com||Yes||[http://www.collegehumor.com/oembed.json?url=https://www.collegehumor.com/video/6970155
 /collegehumor-all-nighter-14-batman-of-the-office Yes]||'''No'''||-||
 ||ted.com||Yes||[http://www.ted.com/talks/oembed.json?url=https://www.ted.com/talks/jill_bolte_taylor_s_powerful_stroke_of_insight.html
 Yes]||Yes||Almost there, just some mixed content in embeds||
 ||animoto.com||Yes||[http://animoto.com/oembeds/create?url=https://animoto.com/play/MlRRgXHhoT8gOZyHanM6TA&format=json
 Yes]||Yes||HTTPS embeds by default, but mixed content when playing an
 embed||
 ||video214.com||Yes||[http://animoto.com/oembeds/create?url=https://video214.com/play/MlRRgXHhoT8gOZyHanM6TA&format=json
 Yes]||Yes||HTTPS embeds by default, but mixed content when playing an
 embed||
 ||kck.st||Yes||[https://www.kickstarter.com/services/oembed?url=https://kck.st/1zdKEWP
 Yes]||-||Domain isn't available over HTTPS||

 Recently fixed providers:

  * '''flic.kr''' - HTTPS everywhere. Regex corrected in r28834.
  * '''slideshare.net''' - HTTPS embeds since r28834.
  * '''wordpress.tv''' - HTTPS embeds for HTTPS URLs.
  * '''meetup.com''' and '''meetu.ps'''- HTTPS embeds for HTTPS URLs.
  * '''instagram.com''' - HTTPS everywhere since r31710.

 Ok providers:

  * '''youtube.com''' and '''youtu.be''' - HTTPS embeds via the
 `scheme=https` parameter.
  * '''vimeo.com''' - Embeds are protocol-relative.
  * '''flickr.com''' - HTTPS everywhere (same for flic.kr).
  * '''polldaddy.com''' - Embeds are served over HTTPS if the parent
 container uses HTTPS. Effectively protocol-relative via JavaScript.
  * '''twitter.com''' - HTTPS everywhere.
  * '''soundcloud.com''' - HTTPS everywhere. (Minor note: their oEmbed
 response includes an `http` URL for the thumbnail on their CDN, but it
 resolves over `https` if you change it.)
  * '''rdio.com''' and '''rd.io''' - HTTPS embeds by default.
  * '''spotify.com''' - HTTPS everywhere.
  * '''issuu.com''' - Embeds are served over HTTPS if the parent container
 uses HTTPS. Effectively protocol-relative via JavaScript.
  * '''mixcloud.com''' - Embeds are protocol-relative.
  * '''tumblr.com''' - Embeds are partly HTTPS and partly protocol-
 relative.
  * '''vine.co''' - HTTPS everywhere.
  * '''scribd.com''' - HTTPS embeds by default.

--

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


More information about the wp-trac mailing list