Skip to content

Commit e00550b

Browse files
committed
!!! [TASK] Remove possibility to download the Tika server binary
This is the follow up of CVE-2025-66516 / CVE-2025-54988 task, removing possibility to download the Tika server jar file. The binary of server file is not required anymore within EXT:tika, due of removement of Tika Server administration Module in TYPO3. Please use proper DevOps operational style for running Apache Tika server. ### Impact: Following commands and/or options do not exist anymore: * `composer tika:download:app` * `composer tika:download:server` * `-a, -A, --app-only` * `-s, -S, --server-only` Relates: #135
1 parent 248d72d commit e00550b

6 files changed

Lines changed: 53 additions & 63 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ name: build
22

33
on:
44
push:
5-
branches: [ 'main', 'release-13.0.x', 'release-12.0.x' ]
5+
branches: [ 'main', 'release-13.1.x', 'release-12.1.x' ]
66
tags:
77
- "**"
88
pull_request:
9-
branches: [ 'main', 'release-13.0.x', 'release-12.0.x' ]
9+
branches: [ 'main', 'release-13.1.x', 'release-12.1.x' ]
1010

1111
env:
1212
CI_BUILD_DIRECTORY: '/home/runner/work/ext-tika/ext-tika/.Build'

Build/Helpers/download_tika_binaries.sh

Lines changed: 6 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@ Options:
2121
-D <directory> Directory to save the binaries in. Default: working directory
2222
2323
Flags:
24-
-a, -A, --app-only Download Tika app only
25-
-s, -S, --server-only Download Tika server only
2624
-c, -C, --check-signature Signature Verification
2725
Note: imports Apaches TIKA public keys
2826
2927
Examples:
3028
$(basename "${COMPOSER_BINARY}") tika:download -- -D /tmp/tika-jars
3129
$(basename "${COMPOSER_BINARY}") tika:download -- -D /tmp/tika-jars
32-
$(basename "${COMPOSER_BINARY}") tika:download -- -D /tmp/tika-jars -C -a
33-
$(basename "${COMPOSER_BINARY}") tika:download -- -D /tmp/tika-jars -C -a --tika-version 3.2.3
30+
$(basename "${COMPOSER_BINARY}") tika:download -- -D /tmp/tika-jars -C
31+
$(basename "${COMPOSER_BINARY}") tika:download -- -D /tmp/tika-jars --check-signature --tika-version 3.2.3
3432
3533
EOF
3634
exit
@@ -49,8 +47,6 @@ Options:
4947
-d, -D, --dir <directory> Directory to save the binaries in. Default: working directory
5048
5149
Flags:
52-
-a, -A, --app-only Download app only
53-
-s, -S, --server-only Download server only
5450
-c, -C, --check-signature Signature Verification
5551
Note: imports Apaches TIKA public keys
5652
@@ -60,23 +56,19 @@ EOF
6056
# Default values
6157
TIKA_PATH="$(pwd -P)"
6258
TIKA_VERSION="${REQUIRED_TIKA_VERSION}"
63-
APP_ONLY=0
64-
SERVER_ONLY=0
6559

6660
LONG_OPTS_LIST=(
6761
"version:"
6862
"tika-version:"
6963
"dir:"
70-
"app-only"
71-
"server-only"
7264
"check-signature"
7365
"help"
7466
)
7567

7668
#echo "$(printf "%s," "${LONG_OPTS_LIST[@]}")"
7769
#exit
7870

79-
SHORT_OPTS_LIST=":v:V:d:D:aAsScCh"
71+
SHORT_OPTS_LIST=":v:V:d:D:cCh"
8072

8173
opts=$(getopt \
8274
--longoptions "$(printf "%s," "${LONG_OPTS_LIST[@]}")" \
@@ -110,26 +102,6 @@ while [[ $# -gt 0 ]]; do
110102
TIKA_PATH=$2; shift 2
111103
;;
112104

113-
-a)
114-
APP_ONLY=1; shift 1
115-
;;
116-
-A)
117-
APP_ONLY=1; shift 1
118-
;;
119-
--app-only)
120-
APP_ONLY=1; shift 1
121-
;;
122-
123-
-s)
124-
SERVER_ONLY=1; shift 1
125-
;;
126-
-S)
127-
SERVER_ONLY=1; shift 1
128-
;;
129-
--server-only)
130-
SERVER_ONLY=1; shift 1
131-
;;
132-
133105
-c)
134106
CHECK_SIGNATURE=1; shift 1
135107
;;
@@ -246,24 +218,9 @@ if [[ "${CHECK_SIGNATURE}" -eq 1 ]]; then
246218
fi
247219

248220
EXIT_CODE=0
249-
if [[ "${APP_ONLY}" -eq 0 ]] && [[ "${SERVER_ONLY}" -eq 0 ]]; then
250-
echo "Will download app and server: proceed..."
251-
downloadTika "app"
252-
EXIT_CODE=$((EXIT_CODE+$?))
253-
downloadTika "server-standard"
254-
EXIT_CODE=$((EXIT_CODE+$?))
255-
fi
256221

257-
if [[ "${APP_ONLY}" -eq 1 ]]; then
258-
echo "Will download app only: proceed..."
259-
downloadTika "app"
260-
EXIT_CODE=$((EXIT_CODE+$?))
261-
fi
262-
263-
if [[ "${SERVER_ONLY}" -eq 1 ]]; then
264-
echo "Will download server only: proceed..."
265-
downloadTika "server-standard"
266-
EXIT_CODE=$((EXIT_CODE+$?))
267-
fi
222+
echo "Will download app: proceed..."
223+
downloadTika "app"
224+
EXIT_CODE=$((EXIT_CODE+$?))
268225

269226
exit ${EXIT_CODE}

Documentation/Configuration/TikaApp.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ Following command will download and verify the integrity of :file:`tika-app-<req
2727

2828
.. code-block:: bash
2929
30-
composer --working-dir="$(composer config vendor-dir)/apache-solr-for-typo3/tika" tika:download:app -- -C -D /opt/tika
30+
composer --working-dir="$(composer config vendor-dir)/apache-solr-for-typo3/tika" tika:download -- -C -D /opt/tika
3131
# or alternatively, change into the EXT:tika directory and run
32-
# composer tika:download:app -- -C -D /opt/tika
32+
# composer tika:download -- -C -D /opt/tika
3333
3434
3535
Setup EXT:tika for Tika App

Documentation/Configuration/TikaServer.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ Open Extension settings for EXT:tika **General** tab and choose **"Tika Server"*
4646
Extension configuration for EXT:tika - Choosing Server extractor in General tab
4747

4848

49-
After that open the **Server** tab and paste the connection infos/datas according fields.
49+
After that open the **Server** tab and paste the connection infos/data according fields.
5050

5151

5252
.. figure:: /Images/BE_Settings_ExtensionConfiguration_Server.png
5353
:class: with-shadow
54-
:alt: Extension configuration for EXT:tika - Provide the connection infos/datas for Tika Server
54+
:alt: Extension configuration for EXT:tika - Provide the connection infos/data for Tika Server
5555

56-
Extension configuration for EXT:tika - Provide the connection infos/datas for Tika Server
56+
Extension configuration for EXT:tika - Provide the connection infos/data for Tika Server
5757

5858
See :ref:`Check if it works <configuration-tika-check>` for test instructions.

Documentation/Releases/13_1.rst

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Releases 13.1
66
=============
77

8-
Release 13.0.0
8+
Release 13.1.0
99
==============
1010

1111
We are happy to announce new major version 13.1 of EXT:tika for TYPO3 13 LTS.
@@ -19,6 +19,43 @@ This is security release including support Apache Tika v. 3.2.3+ and Solr v. 9.
1919
:php:`$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['tika']['skipSecurityChecks'] = true` on your own risk.
2020
EXT:tika will silently stop work on insecure versions.
2121

22+
23+
!!! [FEATURE] Support Apache Tika 3.2.3+ and Solr 9.10.1+ versions only
24+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25+
26+
This change addresses the CVE-2025-66516 and updates the Tika Server/App to v. 3.2.3+.
27+
Due of CVE-2025-66516 / CVE-2025-54988, we are droping support for Tika <3.2.2 and Apache Solr <9.10.1.
28+
See the note on top.
29+
30+
31+
!!! [TASK] Remove Tika Server BE Module
32+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33+
34+
This change removes deprecated and not recommended BE module
35+
for stopping and starting apache Tika Server.
36+
37+
Please use proper approach for that, consult your Dev-Ops, use Hosted-Solr or Docker.
38+
39+
40+
!!! [TASK] Remove possibility to download the Tika server binary
41+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42+
43+
This is the follow up of CVE-2025-66516 / CVE-2025-54988 task,
44+
removing possibility to download the Tika server jar file.
45+
The binary of server file is not required anymore within EXT:tika,
46+
due of removement of Tika Server administration Module in TYPO3.
47+
Please use proper DevOps operational style for running Apache Tika server.
48+
49+
### Impact:
50+
51+
Following commands and/or options do not exist anymore:
52+
53+
* :shell:`composer tika:download:app`
54+
* :shell:`composer tika:download:server`
55+
* :shell:`-a, -A, --app-only`
56+
* :shell:`-s, -S, --server-only`
57+
58+
2259
All changes:
2360
------------
2461

composer.json

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"typo3/cms-reports": "*"
3434
},
3535
"require-dev": {
36-
"apache-solr-for-typo3/solr": "dev-main",
36+
"apache-solr-for-typo3/solr": "13.1.x-dev",
3737
"dg/bypass-finals": "^1.6",
3838
"phpstan/phpstan": "^1.12",
3939
"phpstan/phpstan-phpunit": "^1.4",
@@ -87,10 +87,8 @@
8787
"tests:setup": "Installs composer dependencies, required for tests.",
8888
"tests:unit": "Runs unit tests",
8989

90-
"tika:download": "Download Tika binaries/\".jar\" files. App and Server files.",
91-
"tika:download:app": "Download Tika app binariy/\".jar\" file only.",
90+
"tika:download": "Download Tika app binariy/\".jar\" file.",
9291
"tika:download:help": "Prints help from download script.",
93-
"tika:download:server": "Download Tika server binariy/\".jar\" file only.",
9492
"tika:req:solr": "Print required Apache Solr version.",
9593
"tika:req:tika": "Print required Apache Tika version."
9694
},
@@ -110,9 +108,7 @@
110108
"rm -Rf Documentation-GENERATED-temp/ $(readlink -f Documentation.HTML) Documentation.HTML"
111109
],
112110
"tika:download": [ "CALLED_VIA_COMPOSER=1 REQUIRED_TIKA_VERSION=$($COMPOSER_BINARY tika:req:tika) ./Build/Helpers/download_tika_binaries.sh"],
113-
"tika:download:app": [ "@tika:download -a" ],
114111
"tika:download:help": [ "@tika:download -h" ],
115-
"tika:download:server": [ "@tika:download -s" ],
116112
"tika:req:tika": [ "@composer config extra.TYPO3-Solr.ext-tika.require.Tika" ],
117113
"tika:req:solr": [ "@composer config extra.TYPO3-Solr.ext-tika.require.Solr" ],
118114

0 commit comments

Comments
 (0)