External Email - Use Caution
The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Mass General Brigham Compliance HelpLine at https://www.massgeneralbrigham.org/complianceline .
Please note that this e-mail is not secure (encrypted). If you do not wish to continue communication over unencrypted e-mail, please notify the sender of this message immediately. Continuing to send or respond to e-mail after receiving this message means you understand and accept this risk and wish to continue to communicate over unencrypted e-mail.
Hello Will,
We have successfully created a Webclient docker image from your docker file and have been able to recreate the issue you reported.
Our team is currently investigating the root cause of the problem and will provide you with an update as soon as possible.
Thanks,
Persistent Systems Support Team
Hello Will,
Apologies for the delayed response. We have built the web client image using our Dockerfile, but we are still facing the same issues.
Initially, we suspect the issue may be in the Proxy.php file. We are currently debugging it and will provide you with further updates soon.
Thanks,
Persistent Systems Support Team
Hello Will,
Apologies for the delayed response. We have built the webclient image using our Dockerfile, but we are still facing the same issues.
Initially, we suspect the issue may be in the Proxy.php file. We are currently debugging it and will provide you with further updates soon.
Thanks,
Persistent Systems Support Team
On Jul 23, 2024, at 6:19 AM, Vaibhav Palat <palatv...@gmail.com> wrote:
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/849e62f9-1164-42c8-9294-715398168894n%40googlegroups.com.
$WHITELIST = array( "http" . (($_SERVER['SERVER_PORT'] == '443') ? 's' : '' ) . "://" . $_SERVER['HTTP_HOST'],
code changes in i2b2_config_domains.json);
Please let us know if you are able to resolve this issue.
$WHITELIST = array( "http" . (($_SERVER['SERVER_PORT'] == '443') ? 's' : '' ) . "://" . $_SERVER['HTTP_HOST'],
code changes in i2b2_config_domains.json);
Please let us know if you are able to resolve this issue.
Hello Will,
Apologies for the delayed response,
we were able to reproduce the issue in our local dockerized environment as mentioned in this thread earlier and we resolved the issue by performing the following steps.
available at dockerhub (https://hub.docker.com/r/i2b2/i2b2c-web/tags)
Snippet of proxy.php file:
Updated the $pmURL and changed the $WHITELIST variable.
$WHITELIST = array(
"http" . (($_SERVER['SERVER_PORT'] == '443') ? 's' : '' ) . "://" . $_SERVER['HTTP_HOST'],
);
Snippet for i2b2_config_domains.json file:
{
"urlProxy": "proxy.php",
"urlFramework": "js-i2b2/",
"lstDomains": [
{ "domain": "i2b2demo",
"name": "i2b2.org Demo",
"urlCellPM": "http://localhost/i2b2/services/PMService/",
"allowAnalysis": true,
"debug": false
}
Please let us know if you need
further assistance.
Thanks,
Persistent Systems Support team.
With the upgrade from 1.7.13 to 1.8.1, I was also seeing the “there is a problem contacting the server” error message on a server with:
Red Hat Enterprise Linux 8.10
Apache 2.4.57
Wildfly 17.0.1
PHP 7.2.24, upgraded this week to 8.2.11
None of the suggested changes to i2b2_config_domains.json or proxy.php made the slightest difference in resolving the error or with what I saw in the logs. When I replaced proxy.php with the i2b2 1.8.0 version (no changes, just overwrote the 1.8.1 version), the “problem contacting the server” error disappeared and logins to i2b2 v1.8.1 proceeded correctly. Thank you Kevin.
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/169012f9-8586-4183-ab3b-74128decaf63n%40googlegroups.com.
**********************************************************
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues
You can find the 1.8.0 release files here: https://www.i2b2.org/software/archive.html
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/03c0b641-452f-479a-a037-25626b2fcdd4n%40googlegroups.com.
Glad that you where able to login in. When you get a chance can you diff the two proxy.php file (1.8.0 and 1.8.1) to see what difference is?
When I looked at the github they both appeared the same to me.
Thanks
mike
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/FD533E27-868E-45B0-8F7E-060E79D69D1A%40med.umich.edu.
See attached. These were taken from the .zip files downloaded from i2b2.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/BL0PR04MB49941A91E95CA8085F45F4CFB3B32%40BL0PR04MB4994.namprd04.prod.outlook.com.
Great thanks. I take that back about the repos, my mistake.
I see what you mean by the difference, I tested with php 7 and php 8.0 and i2b2 1.8.1 worked, let me test with php 8.2 and see if it fails.
Thanks
mike
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/C949FEAF-3EA6-4144-A20A-347482F31DE7%40med.umich.edu.
I just installed php 8.2 on the i2b2 1.8.1 vm and was able to login. Is there any errors in the httpd log or the wildfly server.log? Another thing is using the debugger on the browser what is the response from the proxy.php?
-mike
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/43757d8a-f87d-427e-9649-401216299b3fn%40googlegroups.com.
Will: our Apache configuration has DocumentRoot set to i2b2’s “webclient” directory and i2b2_config_domains.json calls proxy.php with this:
"urlProxy": "/proxy.php",
Our base server build uses the Red Hat package repositories, which only provides the older PHP 7. I installed PHP 8 in a non-standard directory and call it in httpd.conf with this:
PHPIniDir "/app/utilities/php8211"
To view this discussion on the web visit https://groups.google.com/d/msgid/i2b2-install-help/BL0PR04MB4994EB8D97EB73A95DFEC2FCB3872%40BL0PR04MB4994.namprd04.prod.outlook.com.
Hello Will,
1. The Security Fix
The fix aims to mitigate potential vulnerabilities in the way proxy URLs are
processed, specifically around user credentials being included in URLs. For
example, URLs like:
http://username:password@host/path
could lead to unintended exposure of sensitive information (username and
password). This behavior is controlled by the parse_url() function, which can
extract components of a URL (scheme, host, port, path, etc.).
What the Fix Does
1. It ensures that any user (PHP_URL_USER) or password (PHP_URL_PASS) embedded
in the proxyURL is ignored.
2. It reconstructs the URL after validating its components (scheme, host, port,
path, etc.).
3. If the URL is malformed (e.g., missing a host or having an invalid scheme),
the script exits immediately to avoid processing unsafe requests.
This prevents:
• Accidental inclusion of user credentials in logs or responses.
• Redirection to malformed or malicious URLs.
2. Purpose of <redirect_url>
<redirect_url> is a placeholder tag in the POST request body. The script
extracts the content between <redirect_url> and </redirect_url> to
get the URL the client is trying to access via the proxy.
Example:
If the POST body contains:
<proxy>
<redirect_url>http://example.com/resource</redirect_url>
</proxy>
The script extracts http://example.com/resource as the
target URL for the proxy to relay the request.
Thanks,
Persistent Systems Support Team