Skip to content

CVE-2018-1294 email header injection via bounce address#161

Merged
vharseko merged 3 commits into
masterfrom
copilot/update-commons-email-version
Apr 17, 2026
Merged

CVE-2018-1294 email header injection via bounce address#161
vharseko merged 3 commits into
masterfrom
copilot/update-commons-email-version

Conversation

Copilot AI commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

commons-email:1.2 is pulled in transitively via org.activiti:activiti-engine:5.15 and is vulnerable to CVE-2018-1294 (email header injection via bounce address; fixed in 1.5+).

Changes

  • pom.xml — adds two entries to <dependencyManagement> to globally pin commons-email to 1.6.0, covering both groupId variants used across Activiti versions:
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.6.0</version>
    </dependency>
    <dependency>
        <groupId>commons-email</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.6.0</version>
    </dependency>
  • legal/THIRDPARTYREADME.txt — updates version reference from commons-email-1.2.jarcommons-email-1.6.0.jar
Original prompt

Problem

The project has a transitive dependency on commons-email:1.2 (pulled in via org.activiti:activiti-engine:5.15 in the openidm-workflow-activiti module). This version is vulnerable to CVE-2018-1294 (Improper Input Validation — header injection via bounce address).

Fix

Add commons-email version 1.6.0 to the <dependencyManagement> section of the root pom.xml to globally override the vulnerable transitive version.

Add the following entry inside <dependencyManagement><dependencies> in the root pom.xml:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.6.0</version>
</dependency>

Note: The old Activiti 5.15 uses groupId = commons-email (not org.apache.commons). You may need to check and add an entry for that groupId as well:

<dependency>
    <groupId>commons-email</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.6.0</version>
</dependency>

Also update legal/THIRDPARTYREADME.txt to reflect the new version: replace commons-email-1.2.jar with commons-email-1.6.0.jar.

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: предложи исправление CVE-2024-7254

User: предложи исправление CVE-2018-1294

Assistant: В репозитории используется commons-email версии 1.2, которая уязвима к CVE-2018-1294. Давайте найдём, где именно объявлена зависимость:

Assistant: Теперь найдём, где именно в pom.xml объявлена зависимость commons-email:

Assistant: ## CVE-2018-1294 — Apache Commons Email (Improper Input Validation)

Уязвимость: некорректная обработка значения «Bounce Address» в Apache Commons Email позволяет удалённому злоумышленнику выполнить атаку типа header injection в email-сообщениях.

Затронутые версии: Apache Commons Email < 1.5

Статус в репозитории OpenIdentityPlatform/OpenIDM

В файле legal/THIRDPARTYREADME.txt зафиксирована уязвимая версия:

Version: commons-email-1.2.jar
Copyright: Copyright 2001-2009 The Apache Software Foundation

К сожалению, мне не удалось найти явное объявление зависимости commons-email в XML-файлах (pom.xml) репозитория через поиск по коду. Зависимость может быть транзитивной или объявлена в родительском POM.

Рекомендуемое исправление

  1. Обновите commons-email до версии 1.5 или выше. Найдите объявление зависимости (напрямую или транзитивно) и задайте версию 1.6 (последняя стабильная):

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.6.0</version>
    </dependency>

    Если зависимость транзитивная, добавьте её в секцию <dependencyManagement> корневого pom.xml, чтобы принудительно зафиксировать безопасную версию.

  2. Обновите legal/THIRDPARTYREADME.txt, заменив commons-email-1.2.jar на актуальную версию.

  3. Проверьте совместимость — API Commons Email обратно совместим, но рекомендуется прогнать тесты, связанные с отправкой email (модуль openidm-external-email, скрипты resetPassword.js и др.).

Ссылки

User: найди откуда подттягивается commins-email

Assistant: Поиск по коду не находит commons-email в pom.xml файлах. Давайте посмотрим непосредственно на структуру модулей, связанных с email.

Assistant: Теперь ясно. Зависимость commons-email не объявлена напрямую ни в одном pom.xml этого репозитория. Она приходит как транзитивная зависимость через activiti-engine:5.15.

Давайте проверим это:

Assistant:

Откуда подтягивается commons-email

Зависимость commons-email:1.2 приходит транзитивно через Activiti Engine 5.15, объявленный в модуле openidm-workflow-activiti:

        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-engine</artifactId>
            <version>5.15</version>
            ...
        </dependency>

Цепочка зависимостей:

org.activiti:activiti-engine:5.15
  └── commons-email:commons-email:1.2  (транзитивная)

Это подтверждается записью в legal/THIRDPARTYREADME.txt, где указана именно версия 1.2:

Version: commons-email-1.2.jar
Copyright: Copyright 2001-2009 The Apache S...

</details>



<!-- START COPILOT CODING AGENT SUFFIX -->

*This pull request was created from Copilot chat.*
>

Copilot AI changed the title [WIP] Update commons-email to version 1.6.0 to fix CVE-2018-1294 Fix CVE-2018-1294: pin commons-email to 1.6.0 via dependencyManagement Apr 16, 2026
Copilot AI requested a review from vharseko April 16, 2026 14:32
@vharseko vharseko changed the title Fix CVE-2018-1294: pin commons-email to 1.6.0 via dependencyManagement CVE-2018-1294 email header injection via bounce address Apr 16, 2026
@vharseko vharseko requested review from maximthomas and removed request for vharseko April 16, 2026 14:36
@vharseko vharseko marked this pull request as ready for review April 16, 2026 14:38
Comment thread pom.xml Outdated
Co-authored-by: Maxim Thomas <[email protected]>
@vharseko vharseko merged commit 84d39c2 into master Apr 17, 2026
14 checks passed
@vharseko vharseko deleted the copilot/update-commons-email-version branch April 17, 2026 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants