Якщо ви отримали від мене листа з посиланням на цю сторінку, то тому, що ваш сайт, судячи з усього, використовує версію Joomla із завершеним життєвим циклом, тобто систему керування контентом, на якій побудовано ваш сайт. На цій сторінці пояснюється, чому це важливо і як це виправити.

Чи є це повідомлення справжнім?

Так. Це добросовісне повідомлення в рамках відповідального розкриття інформації від незалежного дослідника безпеки. Я не прошу у вас грошей, паролів чи доступу до вашого сайту і не намагався проникнути до нього чи щось експлуатувати.

Усе, що я зробив: прочитав публічний файл, який ваш сайт надає кожному відвідувачу, а саме маніфест версії Joomla, і зазначив номер версії, який він публікує. Це та сама публічна частина вашого сайту, що й ваша головна сторінка. Ніщо в цій перевірці не зачіпає ваші дані, вашу адміністративну панель чи будь-яку приватну частину вашого сайту. Якщо в моєму листі було названо конкретну версію або проблему безпеки, це отримано з читання того єдиного публічного файлу, а не з тестування чого-небудь.

Якщо ви хочете переконатися в тому, хто я, ознайомтеся з контактними даними внизу цієї сторінки та на сторінці Про мене.

Чому це важливо

Joomla 3.x досягла завершення життєвого циклу 17 серпня 2023 року. Раніші гілки (2.5, 1.5) досягли завершення життєвого циклу ще за роки до цього. Завершення життєвого циклу означає, що проєкт Joomla взагалі більше не випускає виправлення безпеки для цієї гілки, навіть для серйозних, публічно відомих вразливостей. Нові вразливості, виявлені після дати завершення життєвого циклу, просто ніколи не виправляються для вашої версії.

Зловмисники активно сканують інтернет у пошуках сайтів, що використовують ці непідтримувані версії, оскільки вразливості добре задокументовані та легко виявляються. До частих наслідків належать псування сайту (ваші сторінки замінюються або змінюються), впровадження спаму та використання сайту для розміщення шкідливого контенту. Якщо в моєму листі згадувалася конкретна CVE, це означає, що версія, про яку повідомляє ваш сайт, потрапляє в діапазон, який, як відомо, зачіпає ця проблема. Я не перевіряв, чи вразливий ваш конкретний сайт, лише те, що він повідомляє про уражену версію.

Хороша новина: перехід на підтримуваний випуск закриває ці проломи, і існує добре задокументований шлях оновлення.

Приклади відомих вразливостей

Нижче наведено кілька публічно задокументованих вразливостей високого ступеня серйозності, що зачіпають гілки Joomla 3.x (і раніші) із завершеним життєвим циклом. Оскільки ці версії не підтримуються, подібні проблеми ніколи не виправляються, а технічні подробиці широко опубліковані:

  • CVE-2015-8562: неавтентифіковане віддалене виконання коду через ін’єкцію PHP-об’єктів, зачіпає Joomla з 1.5.x по 3.4.5. Вона активно експлуатувалася в реальних умовах.
  • CVE-2017-8917: критична (CVSS 9.8) SQL-ін’єкція в Joomla 3.7.0.
  • CVE-2016-8869: критичне (CVSS 9.8) підвищення привілеїв через компонент реєстрації користувачів, у версіях до 3.6.4.
  • CVE-2016-8870: несанкціоноване створення облікових записів, навіть коли реєстрацію вимкнено, у версіях до 3.6.4.
  • CVE-2015-7857: SQL-ін’єкція в компоненті історії контенту, зачіпає Joomla з 3.2 по 3.4.4.

Якщо в моєму листі згадувалася конкретна CVE, це буде одна з подібних: публічно відома проблема, діапазон уражених версій якої включає версію, про яку повідомляє ваш сайт.

Як перевірити свою версію

Вам не обов’язково вірити мені на слово щодо того, яку версію ви використовуєте.

З публічного маніфесту (вхід у систему не потрібен): відкрийте yourdomain.com/administrator/manifests/files/joomla.xml у браузері. Рядок <version> містить достовірну версію ядра, і це той самий файл, який прочитав я.

З адміністративної панелі (якщо у вас є доступ):

  1. Увійдіть до адміністрування Joomla (зазвичай за адресою yourdomain.com/administrator).
  2. Відкрийте System, потім подивіться на панель System Information / панель моніторингу, де відображається версія Joomla.

Якщо основна версія 3, 2.5 або 1.5, ви перебуваєте на гілці із завершеним життєвим циклом і вам слід оновитися.

Як оновитися

Поточні підтримувані основні випуски: Joomla 4 і Joomla 5. Завжди спочатку створюйте резервну копію (файли та база даних) перед внесенням змін; більшість хостерів пропонують резервне копіювання в один клік, або ви можете скористатися розширенням для резервного копіювання Joomla.

Рекомендований шлях від Joomla 3 такий:

  1. Спочатку оновіться до останньої версії Joomla 3.10.x. Серія 3.10 включає вбудовану попередню перевірку оновлення (у компоненті Joomla Update), яка позначає всі розширення або шаблони, що ще не сумісні з Joomla 4.
  2. Усуньте несумісні розширення/шаблони, про які вона повідомляє. Оновіть їх до версій, сумісних із Joomla 4/5, або знайдіть заміну.
  3. Виконайте міграцію на Joomla 4, потім оновіться далі до Joomla 5, через Components → Joomla Update в адмініструванні.
  4. Посилання для завантаження та поточний випуск завжди доступні на офіційному проєкті: https://downloads.joomla.org.
  5. Після оновлення підтвердьте нову версію, дотримуючись наведених вище кроків, і перевірте, що ваш сайт завантажується та редагується нормально.

Якщо ваш сайт дуже старий (Joomla 1.5 або 2.5), стрибок буде більшим і його часто краще виконати як нову збірку Joomla 5 з перенесеним до неї контентом. Вебспеціаліст може зробити це швидко.

Заразом оновіть також ваші розширення та шаблон, оскільки той самий принцип “не підтримується означає не виправляється” застосовується до всіх із них.

У мене немає вебмайстра / я застряг

Якщо ви не та людина, яка обслуговує сайт, будь ласка, перешліть цю сторінку тому, хто це робить (вашому веброзробнику, агенції чи хостинг-провайдеру). Вони швидко впізнають наведені вище кроки.

Якщо ви обслуговуєте сайт самостійно і застрягли, я з радістю безкоштовно допоможу вам знайти правильний напрямок. Зв’яжіться зі мною, використовуючи контактні дані нижче.

Контакти

Evan Harris, дослідник безпеки

Я звертаюся з подібних питань виключно для того, щоб допомогти операторам захистити їхні сайти. Якщо ви віддаєте перевагу тому, щоб з вами більше не зв’язувалися, просто повідомте мені про це, і я поважатиму це.

Джерела

Офіційні джерела Joomla

Зведення від третіх сторін

  • endoflife.date: Joomla (зведена таблиця дат завершення життєвого циклу Joomla)