Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use serialized instead of json version from php.net/release #771

Open
jhdxr opened this issue Jul 10, 2016 · 2 comments
Open

use serialized instead of json version from php.net/release #771

jhdxr opened this issue Jul 10, 2016 · 2 comments

Comments

@jhdxr
Copy link
Member

jhdxr commented Jul 10, 2016

php.net/release offers two version data:
http://php.net/releases/index.php?serialize
and
http://php.net/releases/index.php?json

I think we can switch to the serialized version so we no longer relay on the json module.

@c9s
Copy link
Member

c9s commented Jul 10, 2016

the security issue is the main concern, hence we decided to use json format instead of serialize.

but it's possible to add a switch (if json is not available, use serialize instead)

@jhdxr
Copy link
Member Author

jhdxr commented Aug 2, 2016

do you mean bugs like https://bugs.php.net/bug.php?id=70121 which leads to remote code execution?
we download the version list from php.net directly with https enabled, where I think the data should be safe. ( if php.net was hacked and the data were modified, I think the sources were not reliabed as well)

btw, I found two more extra problems / something may be can be improved:

  1. if we use WgetCommandDownload, we pass --no-check-certificate to the wget command, I know that it was me that wrote that class, but I think I was just copying those code from somewhere else in the project, so I'm wondering if there is some special reason for doing so?
  2. ReleaseList::downloadReleaseListFromOfficialSite will throw exception if openssl extension not found. IMO it's not required any more as we support downloader like WgetCommandDownloader or CurlCommandDownloader.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants