unknown
5/18/25

[#15122] Remote images are loaded when they should be blocked
Summary Remote images are loaded when they should be blocked
Queue IMP
Queue Version FRAMEWORK_5_2
Type Bug
State Feedback
Priority 2. Medium
Owners ralf.lang (at) ralf-lang (dot) de
Requester wahnes (at) uni-koeln (dot) de
Created 10/12/2022 (949 days ago)
Due
Updated 05/18/2025 (today)
Assigned 05/18/2025 (today)
Resolved
Milestone
Patch Yes

History
05/18/2025 02:59:14 PM Ralf Lang State ⇒ Feedback
 
05/18/2025 02:57:52 PM Ralf Lang Comment #4
Assigned to Ralf Lang
Reply to this comment
Applied Jens' patch for FRAMEWORK_5_2.
05/18/2025 01:13:02 PM Git Commit Comment #3 Reply to this comment
Changes have been made in Git (FRAMEWORK_6_0):

commit ee707638d5f0c780fd83238690f2d2efe34999ed
Author: Ralf Lang <ralf.lang@ralf-lang.de>
Date:   Sun, 18 May 2025 15:12:56 +0200

Release 7.0.0-alpha14  (API Version: 7.0.0-alpha1)

fix: Convert lib/ autoloader to classmap and introduce PSR-4 src/ namespace
fix: only encrypt for own key if 'save_sent' is activated (Mahdi 
Pasche, B1 Systems GmbH)
fix: Fix in HTML Viewer (Torben Dannhauer)
fix: Horde Bug 15122: Fix privacy issue with remote images being 
loaded despite user's preference not to load remote images. May have 
security consequences, too. (contributed by Jens Wahnes).

  M .horde.yml
  M composer.json
  R doc/CHANGES
  M doc/changelog.yml
  M lib/Application.php
  R package.xml

https://github.com/horde/imp/commit/ee707638d5f0c780fd83238690f2d2efe34999ed
05/18/2025 01:13:01 PM Git Commit Comment #2 Reply to this comment
Changes have been made in Git (FRAMEWORK_6_0):

commit 891814ff4e9f6966641687ff869d9d39cd38d41a
Author: Wahnes <61080908+Wahnes@users.noreply.github.com>
Date:   Sun, 18 May 2025 14:57:25 +0200

fix: Horde Bug 15122: Fix privacy issue with remote images being 
loaded despite user's preference not to load remote images. May have 
security consequences, too. (contributed by Jens Wahnes).

This fixes an old bug from the Horde bug tracker, see 
https://bugs.horde.org/ticket/15122
As detailed in an article about yet another security issue there, the 
loading to remote images may have security implications. So this is a 
precaution to avoid any such issues.

  M lib/Mime/Viewer/Html.php

https://github.com/horde/imp/commit/891814ff4e9f6966641687ff869d9d39cd38d41a
10/12/2022 01:08:20 PM wahnes (at) uni-koeln (dot) de Comment #1
Priority ⇒ 2. Medium
New Attachment: imp-block-loading-of-remote-images-via-picture-source-srcset.patch Download
Patch ⇒ Yes
Milestone ⇒
Summary ⇒ Remote images are loaded when they should be blocked
Type ⇒ Bug
State ⇒ Unconfirmed
Queue ⇒ IMP
Reply to this comment
By default, Imp blocks the loading of images from a remote server in 
an HTML email, unless the user requests that remote images be loaded.
Blocking of remote image loading happens primarily when there is HTML 
code such as "<img src='http://www.example.com/picture.jpg'>" inside 
the HTML message.

In a recent report about a Horde vulnerability, which was focused on 
another problem, it was also mentioned that this feature of blocking 
remote image loading can easily be circumvented by using more 
elaborate HTML code. As detailed at 
<https://blog.sonarsource.com/horde-webmail-rce-via-email/>, remote 
images are in fact loaded when using a HTML constuct that looks like 
this: "<picture><source srcset='...'></picture>".

To verify this, I set up a test HTML email that uses this "<picture>" 
trick. The image referenced in the HTML mail is indeed fetched from 
the remote server when this email is opened in Imp, even if the 
setting to block the loading of remote images is in place. If you 
like, I can share this test email with you.

The attached patch tries to fix this flaw by applying a similar 
blocking pattern to HTML "source" elements as is already applied to 
"img" elements. This code may need some more polishing to meet Horde's 
standards, but it does solve this issue when opening the test email. 
Note that this issue may not only have privacy implications, but in 
special cases may also have security implications, as outlined in the 
blog post.

Saved Queries