Media

EGroupware Vulnerable to Local File Inclusion via file:// URI in Mail Compose

  • Publicada: 07.07.2026
  • Actualizado: 11.10.2026 10:22

Summary

The function processes image URLs embedded in an HTML email body without validating or restricting URI schemes. The check !str_starts_with($myUrl, 'http') evaluates to true for file:// URIs, causing file_get_contents($basedir . urldecode($myUrl)) to read arbitrary files from the server filesystem and embed them as inline MIME attachments in outgoing email.

str_starts_with('file:///etc/passwd', 'http') → false !false → true

php
// api/src/Mail.php  
foreach($images[2] as $i => $url)
			{
				//$isData = false;
				$basedir = $data = '';
				$needTempFile = true;
				$attachmentData = ['name' => '', 'type' => '', 'file' => '', 'tmp_name' => ''];
				try
				{
					// do not change urls for absolute images (thanks to corvuscorax)
					if (!str_starts_with($url, 'data:'))
					{
						$attachmentData['name'] = basename($url); // need to resolve all sort of url
						if (($directory = dirname($url)) == '.') $directory = '';
						$ext = pathinfo($attachmentData['name'], PATHINFO_EXTENSION);
						$attachmentData['type'] = MimeMagic::ext2mime($ext);
						if ( strlen($directory) > 1 && !str_ends_with($directory, '/')) { $directory .= '/'; }
..
...
....
// processURL2InlineImages function
if ( $myUrl[0]!='/' && strlen($basedir) > 1 && !str_ends_with($basedir, '/')) { $basedir .= '/'; }
						if ($needTempFile && empty($attachment) && !str_starts_with($myUrl, "http"))
						{
							try {
								$data = file_get_contents($basedir.urldecode($myUrl));
							}
							catch (\Throwable $e) {
								_egw_log_exception($e);
							}
						}
					}
					if (str_starts_with($url, 'data:'))

PoC

  1. Log in as any authenticated EGroupware user with mail access and open the mail compose window.
  2. Switch to HTML body mode and insert: <img src="file:///etc/passwd">.
  3. The server executes file_get_contents('file:///etc/passwd'), writes the content to a temp file, and attaches it as an inline MIME part.

Impact

An authenticated attacker can read arbitrary files accessible by the web server process, including /etc/passwd, application configuration files containing database credentials, private TLS keys, and environment files.

Remediation

Enforce a strict URI scheme allowlist before calling file_get_contents(). Replace the check !str_starts_with($myUrl, 'http') with if (!preg_match('#^https?://#i', $myUrl)) { continue; } to reject file://, ftp://, php://, data://, and any other non-HTTP scheme.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de Composer egroupware/egroupware >= 26.0.20251208, < 26.5.20260507, < 23.1.20260601 26.5.20260507, 23.1.20260601

Referencias

Puntuación CVSS 6.5/10
Vector CVSS
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Debilidad (CWE)
CWE-73
Plataforma
Composer
Paquete
egroupware/egroupware
Publicada
07.07.2026
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-c8m7-r2jv-rw63 - CC BY 4.0

Historial de vulnerabilidades: egroupware/egroupware

Todas las vulnerabilidades publicadas de este paquete (Paquete de Composer), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Entradas en total
7
Primera → última
05.2022 07.2026
Sin corrección
0
Explotada en ataques
0

Distribución por gravedad

  • Crítica 1
  • Alta 4
  • Media 2

Divulgaciones por año

  1. 2022: 2
  2. 2023: 0
  3. 2024: 1
  4. 2025: 0
  5. 2026: 4
  1. EGroupware Vulnerable to Local File Inclusion via file:// URI in Mail Compose esta entrada
    Media · 6.5 CVE-2026-45016 >= 26.0.20251208, < 26.5.20260507, < 23.1.20260601 26.5.20260507, 23.1.20260601
  2. Alta CVE-2026-40187 >= 26.0.20251208, < 26.4.20260413, < 23.1.20260601 26.4.20260413, 23.1.20260601
  3. Crítica CVE-2026-27823 >= 26.0.20251208, < 26.2.20260224, < 23.1.20260224 26.2.20260224, 23.1.20260224
  4. Alta CVE-2026-22243 < 23.1.20260113, >= 26.0.20251208, < 26.0.20260113 23.1.20260113, 26.0.20260113
  5. Alta · 6.5 CVE-2024-40614 < 23.1.20240624 23.1.20240624
  6. Alta CVE-2010-3313 < 1.6.003, >= 9.1, < 9.1.20100309, >= 9.2, < 9.2.20100309 1.6.003, 9.1.20100309, 9.2.20100309
  7. Media · 6.1 CVE-2017-14920 < 16.1.20170922 16.1.20170922

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.