🌐 Language: 🇻🇳 Tiếng Việt · 🇬🇧 English (current) · 🇯🇵 日本語
S-Cart releases and security
Introduction
This page is for S-Cart (3.x line) site owners and operators: it tells you whether your site is safe, what each release brings and how to update. Latest release: S-Cart 3.3.1 (2026-10-29).
Is your site safe?
Run php artisan gp247:info (or composer show "gp247/*") and compare each line with the Minimum safe column:
| Package | Minimum safe | Latest |
|---|---|---|
| gp247/core | 3.5.0 | 3.5.0 |
| gp247/front | 3.2.3 | 3.3.0 |
| gp247/shop | 3.3.1 | 3.3.1 |
- Below the "Minimum safe" column → update now.
- At or above it → your site is safe, even if you have not reinstalled S-Cart.
⚠️ Note: only the 3.x line still receives security fixes — sites still on 2.x need to move to 3.x. Update all three packages together:
gp247/shop3.3.1 needsgp247/core≥ 3.3,gp247/front3.2.3 needsgp247/core≥ 3.2.3.
Highlights
- Contact inbox in the admin — read every message customers send, right in the admin (S-Cart 3.3)
- Turn the REST API on or off from the API screen — no config file to edit (S-Cart 3.3)
- Failed login limit — stops admin password guessing (S-Cart 3.3)
- Standard shipping with shipments — track deliveries right in the order (S-Cart 3.2)
- Japanese and the Japanese yen — ready on a fresh install (S-Cart 3.2)
How to update
Step 1 — Back up the database and the site folder.
Step 2 — Update the code:
composer update gp247/core gp247/front gp247/shop
Step 3 — Apply data, configuration and cache updates:
php artisan gp247:update
Step 4 — Check the versions again with php artisan gp247:info.
A release may need extra steps — see its 📋 To do when updating below. Step-by-step details: Updating GP247.
Releases
Newest first. An x.Y release brings new features; an x.y.Z release only fixes bugs.
S-Cart 3.3.1 — 2026-10-29
A bug-fix release for sites running with Docker.
🐞 Fixes: the web server follows the stable nginx channel so it receives security fixes; unused PHP features turned off to lower the PHP2Shell risk (running with Docker)
📋 To do when updating
- (Running with Docker) pull the new images and rebuild, following "Security updates" in DOCKER.md
Includes core 3.5.0 · front 3.3.0 · shop 3.3.1 · GitHub Release
S-Cart 3.3.0 — 2026-10-28
A contact form with an inbox, and the REST API switched on and off from the admin.
✨ New
- Contact inbox in the admin — read every message customers send, right in the admin
- Turn the REST API on or off, and each API version, from the API management screen — no config file to edit (docs)
- Failed login limit — stops admin password guessing
- For developers: REST API v2 for products, orders, banners and pages (with filters and final price); every API response carries a request id for log lookups
🛡️ Security: 5 fixes — see details. Update now.
🐞 Fixes: the social sharing image (og:image) used the wrong picture for a page; the admin order API answered 500
📋 To do when updating
- Run
php artisan gp247:update— it hashes API keys and gives old tokens an expiry - Rename
GP247_API_LOGIN_THROTTLE→GP247_LOGIN_THROTTLEandGP247_API_LOGIN_IP_THROTTLE→GP247_LOGIN_IP_THROTTLE(the old names are no longer read) - Apps calling the API: log out with POST (GET is being retired), and move to API v2 over time
Includes core 3.5.0 · front 3.3.0 · shop 3.3.1 · GitHub Release
S-Cart 3.2 — 2026-10-23
Japanese, standard shipping with shipments, and a storefront theme that updates with the package.
✨ New
- Standard shipping — carriers, shipments, wards; track deliveries right in the order (docs)
- Japanese and the Japanese yen (JPY) ready on a fresh install — sell to the Japanese market (docs)
- The GP247Front theme runs straight from the package —
composer updatebrings the new look, publish only the files you want to change (docs) - Payment instructions at checkout — customers know how to pay by bank transfer (docs)
- Wishlist and compare right on the product page
- For developers: plugins can add storefront blocks and extension points without owning a template; a "Check before use" box tells what a plugin still needs configured
🛡️ Security: 2 fixes — see details.
🐞 Fixes: wishlist/compare buttons on product cards were not visible; "too many redirects" when removing from the wishlist; page links stacked vertically
📋 To do when updating
- Sites that published the whole theme can run
php artisan gp247:template-prune GP247Front --dry-runto hand unchanged files back to the package
Includes core 3.2.0 · front 3.2.0 · shop 3.2.0 · GitHub Release
S-Cart 3.1 — 2026-10-03
Payment requests outside the cart, and stored passwords and payment keys encrypted.
✨ New
- Payment requests — send online payment links, record money in/out by hand, refund, with no order needed (docs)
- SMTP passwords and payment gateway keys encrypted in the database, with a key rotation command (docs)
- Plugins per store — configure and enable them separately (multi-store sites) (docs)
- Admin action log — see who changed what
- For developers:
gp247:doctorreports PHP files with a BOM; error reports say which site they came from
🛡️ Security: 3 fixes — see details.
🐞 Fixes: Email/SMTP settings did not always save; customers without an email were reported as duplicates; order-total promotion codes were not applied
📋 To do when updating
- Run
php artisan gp247:update - (Running with Docker) the production stack refuses to start while
.envstill holds the sample passwords
Includes core 3.1.0 · front 3.0.0 · shop 3.1.0 · GitHub Release
S-Cart 3.0.1 — 2026-09-04
📋 To do when updating
- The old
sc:*commands are removed; use the matchinggp247:*commands (docs)
Includes core 3.0.0 · front 3.0.0 · shop 3.0.0 · GitHub Release
Older releases
| Release | Date | Summary |
|---|---|---|
| S-Cart 3.0 | 2026-08-30 | Start of the 3.x line: a payment ledger per order, discounts taken before tax — v3.0 notes |
Security fixes
Only the kind of issue, who is affected and the fixed release — never how to exploit it. Rows marked (… sites) only affect
sites using that setup. A date in brackets is the package release date — sites that ran composer update were safe from
that day.
S-Cart 3.3.0 — 5 fixes
| Issue | Who is affected | Fixed in |
|---|---|---|
| Brute force, CSRF | No limit on admin login attempts; the file manager could change files from another site | core 3.5.0 · shop 3.3.1 |
| Price tampering | A negative quantity in the cart brought the order total down to 0 | core 3.5.0 · shop 3.3.1 |
| Secret exposure | API connection keys stored in plain text in the database (sites with the API enabled) | core 3.5.0 · shop 3.3.1 |
| Access control, data leak, brute force | The REST API ignored role and store permissions and exposed cost price and stock; no login limit, tokens never expired (sites with the API enabled) | core · front · shop 3.2.3 (2026-10-27) |
| Authentication | Locked customers could still sign in | core · front · shop 3.2.3 (2026-10-27) |
S-Cart 3.2 — 2 fixes
| Issue | Who is affected | Fixed in |
|---|---|---|
| Path traversal, SSRF | Installing a plugin/template from an untrusted package | core 3.1.2 (2026-10-21) |
| Data leak | Pages and link groups of other stores shown to a sub-store admin (multi-store sites) | front 3.0.1 (2026-09-02) |
S-Cart 3.1 — 3 fixes
| Issue | Who is affected | Fixed in |
|---|---|---|
| Secret exposure | Saved passwords and keys on plugin settings screens were sent to the browser | core 3.0.14 (2026-09-29) |
| Data leak | The admin home showed revenue and orders of every store to a sub-store admin (multi-store sites) | shop 3.0.18 (2026-09-28) |
| Data leak | Categories and products of other stores shown to a sub-store admin when creating an order (multi-store sites) | shop 3.0.2 (2026-09-02) |
Server software (PHP, web server)
Flaws in PHP and the web server are fixed by their own vendors, not by a GP247 release — keep them up to date as well.
| Issue | Severity | Fixed in PHP |
|---|---|---|
| PHP2Shell — remote code execution (CVE-2026-109618, CVE-2026-109619) · 2026-10-21 | Critical | 8.3.36 · 8.4.27 · 8.5.12 |
What to do
- Check your PHP version:
php -v, or Admin → Server info. - PHP from the official releases (php.net, the official Docker images, most control panels that let you pick a version): move to the fixed version of your branch, or later.
- PHP managed by your Linux distribution (Ubuntu, Debian, RHEL…) or hosting provider: these vendors often patch an older version number, so the number alone does not tell you whether you are safe — install the latest operating system updates, or ask your provider whether CVE-2026-109618 and CVE-2026-109619 are patched.
- Cannot update yet: set
session.upload_progress.enabled = Offinphp.ini(GP247 does not use this feature) and restart PHP. It lowers the risk; it does not replace the update. - Running with Docker: follow "Security updates" in DOCKER.md.
Reporting a vulnerability
If you find a vulnerability, please email support@gp247.net — do not open a public GitHub issue, so the problem is not exposed before a fix is released.
📅 Last updated: 2026-10-31 · ✍️ Author: GP247