Breaking Security News Vulnerability Analysis 21 Οκτωβρίου 2026

PHP2Shell — Δύο Critical Pre-Auth RCE στο PHP (CVSS 9.2) και Επείγον Patch Σήμερα

Δύο ευπάθειες pre-auth Remote Code Execution (CVE-2026-109618 / CVE-2026-109619, CVSS v4.0: 9.2) διέρρηξαν πριν το coordinated disclosure. Root cause: heap use-after-free στον handler του session.upload_progress — επηρεάζει PHP 5.4.0 έως 8.5.x, ενώ τα EOL branches δεν θα πάρουν ποτέ patch. PoCs δημόσια σε ώρες, επείγον patch προγραμματισμένο για σήμερα 21/10.

📅 Διαρροή: 20 Οκτωβρίου 2026 🎯 Στόχος: κάθε PHP server με sessions ⚠️ Σοβαρότητα: Critical 9.2 🕒 Patch: 21/10, ~14:00 UTC (σε εξέλιξη) 🏷️ Τύπος: Pre-Auth RCE / Heap UAF
Κατάσταση τη στιγμή της δημοσίευσης (21/10/2026, ~09:35 UTC): Οι διορθωτικές εκδόσεις δεν είχαν ακόμη δημοσιευτεί στο php.net — μόνο η ανακοίνωση «Upcoming Critical PHP Security Release». Το χρονοδιάγραμμα έλεγε ~14:00 UTC (17:00 ώρα Ελλάδας) σήμερα. Έλεγξε το php.net πριν δράσεις — αν διαβάζεις το άρθρο μετά το μεσημέρι, πιθανότατα το patch είναι ήδη εκεί.
9.2
CVSS v4.0 — Critical
2 CVEs
pre-auth RCE (109618 / 109619)
5.4→8.5
εκδόσεις PHP που επηρεάζονται
0 Auth
δεν απαιτείται λογαριασμός
4 Branches
EOL: μένουν χωρίς patch (≤8.1)
14:00 UTC
πρόγραμμα κυκλοφορίας patch (21/10)

TL;DR — Τι να κάνεις ΤΩΡΑ (3 βήματα)

  1. Patch μόλις βγει: νέες διορθωτικές εκδόσεις PHP στα ενεργά branches 8.2–8.5 αναμένονταν ~14:00 UTC σήμερα. Δες php.net.
  2. Δεν μπορείς να κάνεις patch; Απενεργοποίησε το upload progress: session.upload_progress.enabled = 0 στο php.ini (βλ. §8) και μπλόκαρε multipart POSTs στο WAF.
  3. Κυνήγησε ήδη απόψε: grep στα logs για PHP_SESSION_UPLOAD_PROGRESS και ύποπτα multipart POSTs (βλ. §9).

1. Περίληψη (Executive Summary)

Στις 20 Οκτωβρίου 2026, λεπτομέρειες για δύο critical ευπάθειες του PHP διέρρευσαν δημόσια πριν από το προγραμματισμένο coordinated disclosure. Πρόκειται για δύο pre-auth Remote Code Execution (RCE) ευπάθειες — ο επιτιθέμενος δεν χρειάζεται λογαριασμό, συνθηματικό ή ρόλο — με καταχωρημένα IDs CVE-2026-109618 και CVE-2026-109619 και βαθμολογία CVSS v4.0: 9.2 (Critical).

Η κοινότητα τους βάφτισε συλλογικά «PHP2Shell» — PHP σε shell: από ένα απλό POST request στην εκτέλεση εντολών στον server. Η PHP Team αντέδρασε με έκτακτο security release προγραμματισμένο για τις 21 Οκτωβρίου, γύρω στις 14:00 UTC, ενώ το php.net υποχώρησε προσωρινά κάτω από την πίεση της κίνησης της ανακοίνωσης.

Το νεύρο του προβλήματος: Η ευπάθεια δεν χρειάζεται «αδύναμη» εφαρμογή. Το session.upload_progress είναι ενεργό από προεπιλογή σε κάθε σύγχρονη εγκατάσταση PHP και το χτυπιέται πριν από την αυθεντικοποίηση. Συνδυάζεται δε με κοινότατα λάθη εφαρμογών (π.χ. Local File Inclusion) για πλήρη RCE.
Το χειρότερο σημείο: Τα fixes θα κυκλοφορήσουν μόνο για τα ενεργά branches (8.2, 8.3, 8.4, 8.5). Ό,τι παλαιότερο — PHP 8.1, 8.0, 7.x, 5.x — έχει φτάσει EOL και δεν θα λάβει ποτέ patch. Εκατομμύρια sites (WordPress, Laravel, Symfony installations, hosting farms) μένουν μόνιμα εκτεθειμένα αν δεν αναβαθμίσουν.

2. Τι είναι το PHP2Shell

«PHP2Shell» είναι η ονομασία που επικράτησε στην κοινότητα ασφαλείας για το ζεύγος των ευπαθειών CVE-2026-109618 / CVE-2026-109619: δύο ξεχωριστά καταχωρημένα αλλά συναφή ευρήματα που οδηγούν και τα δύο σε unauthenticated RCE σε προεπιλεγμένες ρυθμίσεις PHP.

ΣτοιχείοΛεπτομέρεια
CVEsCVE-2026-109618 & CVE-2026-109619
ΤύποςPre-Auth Remote Code Execution (δεν απαιτείται αυθεντικοποίηση)
ΒαθμολογίαCVSS v4.0: 9.2 — Critical
Root causeHeap use-after-free στον handler session.upload_progress (php_session_rfc1867_callback, ext/session/session.c)
ΕπηρεάζειPHP 5.4.0 έως 8.5.x (η ρύθμιση εισήχθη στην 5.4)
ΠροεπιλογήΕνεργό: session.upload_progress.enabled = 1 είναι default
PatchΈκτακτο release 21/10/2026 ~14:00 UTC για branches 8.2–8.5
ΕπιβεβαίωσηwatchTowr (ανέπαψε την ευπάθεια), Huntress, Florian Roth (threat intel)

2.1 Τι είναι το session.upload_progress

Πρόκειται για feature του PHP από την έκδοση 5.4 (2012): όταν ο χρήστης ανεβάζει αρχείο μέσω multipart/form-data φόρμας, η PHP μπορεί να γράφει στην session την πρόοδο του upload, ώστε μια JavaScript μπάρα να τη δείχνει ζωντανά. Ο μηχανισμός ενεργοποιείται όταν το POST περιλαμβάνει το ειδικό πεδίο PHP_SESSION_UPLOAD_PROGRESS.

Γιατί είναι καυτό: επειδή είναι On από προεπιλογή, δουλεύει πριν από κάθε login και δέχεται ελεγχόμενη από τον χρήστη είσοδο μέσα σε μια δομή της session — το τέλειο combination για έναν επιτιθέμενο: χωρίς λογαριασμό και χωρίς φίλτρα.

3. Τεχνική Ανάλυση: Το Heap Use-After-Free

Η ρίζα της ευπάθειας βρίσκεται στο php_session_rfc1867_callback μέσα στο ext/session/session.c του PHP core — τον κώδικα που διαχειρίζεται το upload progress. Κατά την επεξεργασία multipart uploads, ο handler δουλεύει με raw δείκτες σε zval buckets (τις εσωτερικές δομές μεταβλητών του PHP Engine). Σε συγκεκριμένες ακολουθίες, η μνήμη απελευθερώνεται ενώ εξακολουθεί να αναφέρεται — ένα κλασικό use-after-free.

3.1 Γιατί ένα UAF είναι τόσο σοβαρό

Σε ένα use-after-free, ο επιτιθέμενος μπορεί να επανακαταλάβει την ελεύθερη μνήμη με δικά του δεδομένα (heap grooming): στέλνοντας στοχευμένα POST bodies, γεμίζει τον allocator με ελεγχόμενο περιεχόμενο που καταλαμβάνει το freed slot. Όταν ο handler γράψει/διαβάσει ξανά από τον stale δείκτη, διαχειρίζεται δεδομένα του επιτιθέμενου σαν να ήταν εσωτερική δομή του PHP — συμπεριλαμβανομένων function pointers που μπορεί να παραποιήσει, οδηγώντας στην εκτέλεση αυθαίρετου κώδικα στη διεργασία του PHP-FPM.

Επιβεβαίωση: τα PoCs που κυκλοφόρησαν συνοδεύονται από AddressSanitizer (ASAN) αποδείξεις του heap-use-after-free — δηλαδή δεν πρόκειται για θεωρητική ανάλυση: το σφάλμα είναι τεκμηριωμένο και εντοπίσιμο σε runtime.

3.2 Το χρονικό παράθυρο της διαρροής

Το χειρότερο σενάριο coordinated disclosure υλοποιήθηκε: οι λεπτομέρειες και PoC εκμεταλλεύσεις βγήκαν δημόσια πριν υπάρχει patch διαθέσιμο. Από εκεί και πέρα, ο χρονικός «διαγωνισμός» ανάμεσα σε defenders και attackers ξεκίνησε αμέσως — με τα PoCs να πολλαπλασιάζονται στο GitHub μέσα σε ώρες (βλ. §7).

4. Χρονολόγιο

20 Οκτ 2026 — πριν το coordinated disclosure
Διαρροή λεπτομερειών + πρώτα PoCs

Λεπτομέρειες των δύο ευπαθειών βγαίνουν δημόσια πριν από το προγραμματισμένο release. Μέσα σε ώρες εμφανίζονται PoC repos στο GitHub (Zer061/CVE-2026-109618 ★29, ikow/php2shell-poc ★11, eness/php2shell-PoC ★5) με verified αλυσίδες εκμετάλλευσης.

20 Οκτ 2026, βράδυ (~21:12 UTC)
php.net: «Upcoming Critical PHP Security Release»

Η PHP Team δημοσιεύει επίσημη ανακοίνωση για επείγουσες διορθώσεις. Ειδησιογραφικά outlets (BleepingComputer, Ars Technica, Aikido, SecurityWeek, Cyber Daily) καλύπτουν την εξέλιξη μέσα στη νύχτα.

20–21 Οκτ 2026 (νύχτα)
Επιβεβαιώσεις από security εταιρείες

Η watchTowr επιβεβαιώνει ότι ανέπαψε την ευπάθεια (CVE-2026-109618), η Huntress κάνει own telemetric checks και ο Florian Roth (threat intel) παρακολουθεί το θέμα. Μέσα στη νύχτα το php.net υποχωρεί προσωρινά από την κίνηση.

21 Οκτ 2026, πρωί (~07:40 UTC)
Αμυντικά εργαλεία & WAF rules εμφανίζονται

Κυκλοφορούν Nginx/Apache κανόνες αποκλεισμού (Pasquale Pillitteri), μαζί με defensive repos: mikensec/php2shell-lab, yetDevs/php2shell-triage, ghostinthecable/php-hunting. Ο Mattias Geniar (ma.ttias.be) δημοσιεύει early mitigations.

21 Οκτ 2026, πρωί (~09:35 UTC)
Πριν το patch: όλοι σε αναμονή

Τη στιγμή συγγραφής του άρθρου, το patch δεν έχει δημοσιευτεί. Τα PoCs είναι δημόσια εδώ και ~12–16 ώρες. Ο χρονικός «διαγωνισμός» τρέχει.

21 Οκτ 2026, ~14:00 UTC (17:00 EEST)
Αναμενόμενη κυκλοφορία patches (8.2–8.5)

Σύμφωνα με το κοινοποιημένο χρονοδιάγραμμα, νέες διορθωτικές εκδόσεις για τα ενεργά branches. Ο υποστηρικμένος κώδικας θα διορθωθεί — τα EOL branches όχι ποτέ.

5. Αλυσίδες Εκμετάλλευσης (Attack Chains)

Οι ερευνητές που ανέλυσαν τα PoCs (μεταξύ αυτών το εργαστήριο του Qi Deng στο ikow/php2shell-poc) τεκμηρίωσαν πέντε διαφορετικές αλυσίδες — από το «απλό» session poisoning έως πλήρες RCE. Παρακάτω τις περιγράφουμε εννοιολογικά, χωρίς κώδικα εκμετάλλευσης:

#ΑλυσίδαΠροαπαίτησηΑποτέλεσμαΚατάσταση
1 Session File Injection + LFI upload_progress = On (default) + LFI στην εφαρμογή RCE Verified
2 UAF στο var_destroy → handler overwrite Στόχευση freed slot με groomed data Υπεργραφή handler → RCE ASAN-confirmed
3 Handler mismatch → deserialization POP Ασυνέπεια serializer/handler κατάσταση POP gadget → RCE Verified
4 Session fixation μέσω POST Bypass του session.use_only_cookies (php-src PR #22113) Κατάληψη session ταυτότητας Ερευνητικό
5 Serializer δεν reset στο RSHUTDOWN PHP-FPM, διαδοχικά requests Διαρροή κατάστασης μεταξύ requests Ερευνητικό

5.1 Η πιο «εφικτή» αλυσίδα: Session Injection + LFI

Η αλυσίδα 1 είναι αυτή που ανησυχεί περισσότερο τους defenders, γιατί δεν απαιτεί memory corruption: το upload_progress επιτρέπει στον επιτιθέμενο να γράψει ελεγχόμενο περιεχόμενο μέσα στο αρχείο session. Αν η εφαρμογή έχει ένα LFI (Local File Inclusion) — ένα από τα πιο συνηθισμένα λάθη στον κόσμο της PHP — μπορεί να «συμπεριλάβει» το session αρχείο και το περιεχόμενο του επιτιθέμενου να εκτελεστεί ως κώδικας.

Σημείωση scope: οι αλυσίδες 4 και 5 προέρχονται από ερευνητικά ευρήματα (συμπεριλαμβανομένου του php-src PR #22113 για το fixation bypass) και δεν αποτελούν μέρος του επίσημου CVE description τη στιγμή συγγραφής. Παρουσιάζονται ως τεκμηριωμένα ευρήματα ερευνητών, όχι ως επίσημη θέση της PHP Group.

6. Ποιοι Κινδυνεύουν

Η PHP τροφοδοτεί ακόμη το συντριπτικό μέρος του web (κατά τη W3Techs, ~74–75% των sites με γνωστή server-side γλώσσα). Επειδή το upload_progress είναι default-On και η επίθεση pre-auth, το εύρος στόχων είναι σχεδόν κάθε PHP server που δέχεται POST requests.

Έκδοση PHPΚατάσταση υποστήριξηςΘα πάρει patch;Ενέργεια
PHP 8.5.xΕνεργό branch✅ Ναι (21/10)Ενημέρωση μόλις βγει
PHP 8.4.xΕνεργό branch✅ Ναι (21/10)Ενημέρωση μόλις βγει
PHP 8.3.xΕνεργό branch✅ Ναι (21/10)Ενημέρωση μόλις βγει
PHP 8.2.xΕνεργό branch (security-only)✅ Ναι (21/10)Ενημέρωση μόλις βγει
PHP 8.1.xEOL❌ Όχι ποτέΆμεση αναβάθμιση ή απομάκρυνση
PHP 8.0.xEOL❌ Όχι ποτέΆμεση αναβάθμιση ή απομάκρυνση
PHP 7.xEOL❌ Όχι ποτέΆμεση αναβάθμιση ή απομάκρυνση
PHP 5.4–5.6EOL❌ Όχι ποτέΆμεση αναβάθμιση ή απομάκρυνση
Πού κρύβονται τα EOL PHP: παλιά WordPress hosting, εξαγορασμένες/inherited corporate εφαρμογές, legacy intranets, NAS panels, μπορνές εταιρικά routers με web UI, shared hosting του 2018. Αυτά ΔΕΝ θα διορθωθούν ποτέ με patch — μόνο με migration ή αποσύνδεση από το internet.

6.1 Η ευρωπαϊκή οδηγία: «κατέβασε το site offline»

Σύμφωνα με ρεπορτάζ της Reuters, ευρωπαϊκοί αξιωματούχοι κυβερνοασφάλειας συμβούλευσαν οργανισμούς που δεν μπορούν να διορθώσουν έγκαιρα τα συστήματά τους να τα αποσύρουν προσωρινά από το internet μέχρι να διορθωθούν. Πρόκειται για απευθείας αναγνώριση ότι το παράθυρο πριν τη μαζική εκμετάλλευση είναι κρίσιμο — και ότι ένα site εκτός αέρα είναι φθηνότερο από ένα site με webshell.

7. Τι Συμβαίνει Τώρα: Το Οικοσύστημα των PoCs

Μέσα σε ~12 ώρες από τη διαρροή, το GitHub γέμισε PoC repos και defensive tools — ενδεικτικά (λίστα τη στιγμή συγγραφής, τα αστέρια αλλάζουν ραγδαία):

RepoΤύποςΤι περιέχει
Zer061/CVE-2026-109618 ★29 PoC bundle Δουλειά των J4ck3LSyN, Andrew Dorman (@acd421) και Arch&Yuki — διορθωμένα offsets για Debian/Ubuntu binaries. Writeup
ikow/php2shell-poc ★11 Research + PoC Επίσημες αλυσίδες 1–3 (§5) τεκμηριωμένες. Writeup του Qi Deng στο Substack.
eness/php2shell-PoC ★5 PoC RCE Αυτόνομο PoC για τις δύο CVEs.
mikensec/php2shell-lab Defensive Offline lab για ανάλυση του PoC και συγγραφή detection rules.
yetDevs/php2shell-triage Defensive Tool triage: audit Plesk setup, ανίχνευση ύποπτων child-processes.
ghostinthecable/php-hunting Defensive Hunter για Apache logs — εύρεση σημαδιών απόπειρας εκμετάλλευσης.
Παρατήρηση: παραπάνω καταγράφουμε την ύπαρξη των PoCs ως πραγματικότητα της απειλής — δεν παρέχουμε οδηγίες εκμετάλλευσης. Αν είσαι defender, χρησιμοποίησε τα defensive repos και τα labs σε απομονωμένο περιβάλλον μόνο.

7.1 «Mass exploitation looms»

Ο τίτλος του SecurityWeek αποτυπώνει την κατάσταση: «PHP2Shell: Mass Exploitation Looms for Leaked Critical PHP Flaws». Τη στιγμή συγγραφής δεν έχουμε επιβεβαιωμένα εκτεταμένα incident σε παραγωγικά συστήματα — αλλά το “looms” είναι η λέξη-κλειδί: δημόσια PoCs + pre-auth + default-On ρύθμιση = κύμα scanning/recon που είναι σχεδόν βέβαιο. Ιστορικά (Log4Shell, ProxyShell, Spring4Shell), το παράθυρο ανάμεσα στο δημόσιο PoC και τη μαζική σάρωση μετριέται σε ώρες, όχι μέρες.

8. Playbook Προστασίας

8.1 Άμεσες ενέργειες (0–24 ώρες)

8.2 Early mitigation: κλείσε το upload_progress

; php.ini (ή conf.d/*.ini) — επανεκκίνηση PHP-FPM μετά
session.upload_progress.enabled = 0
# Επαλήθευση σε CLI
php -i | grep -i upload_progress
# Επιθυμητό αποτέλεσμα: session.upload_progress.enabled => 0
Σημαντική επιφύλαξη: το mitigation αυτό κόβει τον κύριο pre-auth δρόμο, αλλά δεν υπάρχει επίσημη επιβεβαίωση ότι μπλοκάρει κάθε αλυσίδα (π.χ. τα ερευνητικά ευρήματα §5.4/§5.5 αφορούν άλλες διαδρομές). Καλύπτει το περισσότερο ρίσκο, όχι το 100%. Το patch παραμένει η μόνη πλήρης λύση.

8.3 WAF level: μπλόκαρε multipart POSTs (προσωρινά)

# NGINX (στον server block που σερβίρει PHP):
# ΠΡΟΣΟΧΗ: κόβει και νόμιμα uploads! Χρησιμοποίησε μόνο
# σε endpoints χωρίς upload ανάγκες, ή scope-άρισέ το ανά location.
if ($content_type ~* "multipart/form-data") {
    return 403;
}

Έχουν κυκλοφορήσει και πιο προσεγμένα Nginx/Apache rule-sets από την κοινότητα (ενδεικτικά άρθρα του Pasquale Pillitteri) που στοχεύουν το pattern PHP_SESSION_UPLOAD_PROGRESS. Αν έχεις ModSecurity, φτιάξε rule που κόβει POST bodies/params που περιέχουν PHP_SESSION_UPLOAD_PROGRESS εκτός ρητά επιτρεπόμενων εφαρμογών.

8.4 Σκλήρυνση sessions (καλό μέτρο — μειώνει τις αλυσίδες 4–5)

; php.ini
session.use_only_cookies = 1
session.use_strict_mode = 1
; και σκέψου: session.upload_progress.prefix / cleanup_freq review

8.5 Βραχυπρόθεσμες ενέργειες (1–7 ημέρες)

8.6 Μακροπρόθεσμα (1–4 εβδομάδες)

9. Ανίχνευση & Δείγματα IOCs

Τι να ψάξεις στα logs σου — τόσο πριν όσο και μετά το patch:

9.1 Το πιο θορυβώδες σημάδι: PHP_SESSION_UPLOAD_PROGRESS

# Apache/Nginx access logs — ύποπτα multipart POSTs
grep -i "PHP_SESSION_UPLOAD_PROGRESS" /var/log/apache2/access.log
grep -i "PHP_SESSION_UPLOAD_PROGRESS" /var/log/nginx/access.log

# ModSecurity audit logs
grep -ri "PHP_SESSION_UPLOAD_PROGRESS" /var/log/modsec_audit/

# FPM error/slow logs
grep -ri "upload_progress" /var/log/php*-fpm*

Το PHP_SESSION_UPLOAD_PROGRESS είναι νόμιμο για εφαρμογές με upload progress bars — αλλά αν δεν έχεις τέτοιες εφαρμογές και το βλέπεις στα logs, κάθε εμφάνιση είναι ύποπτη απόπειρα. Πρόσεξε και ύποπτα POST bodies με πολλά κενά/μη-unicode γέμισμα (heap grooming pattern) σε endpoints με sessions.

9.2 Σημάδια επιτυχημένης παραβίασης

Defensive repos που βοηθούν: php-hunting (log hunter), php2shell-triage (Plesk/process audit), php2shell-lab (offline lab + detection rules).

10. Γιατί είναι Σημαντικό

Συχνές Ερωτήσεις (FAQ)

Πότε θα βγει το patch;

Το κοινοποιημένο πρόγραμμα έλεγε 21 Οκτωβρίου 2026, ~14:00 UTC (17:00 ώρα Ελλάδας), για τα ενεργά branches 8.2–8.5. Τη στιγμή της δημοσίευσης (~09:35 UTC) δεν είχε ακόμη εμφανιστεί — έλεγξε το php.net για την τρέχουσα κατάσταση.

Επηρεάζεται ο server μου;

Αν τρέχεις PHP 5.4.0 έως 8.5.x με sessions και δέχεσαι POST requests, θεωρητικά ναι: το upload_progress είναι default-On. Έλεγξε με php -v και php -i | grep upload_progress.

Τι κάνω αν δεν μπορώ να κάνω patch;

Απενεργοποίησε το upload_progress, μπλόκαρε multipart POSTs στο WAF, σκλήρυνε τα sessions και σχεδίασε άμεση αναβάθμιση. Αν το σύστημα είναι κρίσιμο και αδύνατο να διορθωθεί, η ευρωπαϊκή σύσταση (Reuters) είναι να το αποσύρεις προσωρινά από το internet.

Τα mitigations αρκούν;

Καλύπτουν τον κύριο pre-auth δρόμο, αλλά δεν υπάρχει επίσημη επιβεβαίωση ότι μπλοκάρουν όλες τις αλυσίδες. Το patch είναι η μόνη πλήρης λύση — τα mitigations αγοράζουν χρόνο.

Υπάρχει εκμετάλλευση στην άγρια φύση;

Δεν έχουμε επιβεβαιωμένα μαζικά incident τη στιγμή συγγραφής — αλλά τα PoCs είναι δημόσια και watchTowr/Huntress/Florian Roth προειδοποιούν. Πρόσεξε το τοπίο σαν ενεργό zero-day.

Τι είναι το session.upload_progress;

Feature του PHP (από την 5.4) που γράφει την πρόοδο multipart uploads στην session, ώστε UI progress bars να τη δείχνουν. Ενεργοποιείται με το πεδίο PHP_SESSION_UPLOAD_PROGRESS και είναι On από προεπιλογή — γι' αυτό η ευπάθεια είναι τόσο ευρεία.

13. Γλωσσάρι

ΌροςΕπεξήγηση
Pre-Auth RCEΕκτέλεση κώδικα στον server χωρίς αυθεντικοποίηση (χωρίς λογαριασμό/συνθηματικό).
Heap Use-After-FreeΕυπάθεια μνήμης: χρήση δείκτη μετά την απελευθέρωση της μνήμης που δείχνει — ο επιτιθέμενος «ξανανοικιάζει» το freed slot με δικά του δεδομένα.
session.upload_progressFeature PHP (5.4+) που καταγράφει την πρόοδο multipart uploads στην session. Default: On.
PHP_SESSION_UPLOAD_PROGRESSΤο POST πεδίο που ενεργοποιεί τον μηχανισμό — και το fingerprint στα logs.
LFILocal File Inclusion — η εφαρμογή συμπεριλαμβάνει αρχεία με βάση είσοδο χρήστη.
POP gadgetΑλυσίδα αντικειμένων σε deserialization που οδηγεί σε εκτέλεση κώδικα.
Session fixationΕπιβολή γνωστού session ID στον θύμα ώστε ο επιτιθέμενος να «μοιράζεται» την ταυτότητά του.
PHP-FPMFastCGI Process Manager — ο worker που εκτελεί τα PHP scripts (εκεί ζει το RCE).
EOL branchΈκδοση που δεν λαμβάνει πια security updates από την upstream.
Coordinated disclosureΣυμφωνημένο χρονοδιάγραμμα δημοσίευσης ευπάθειας μαζί με patch.
ASANAddressSanitizer — εργαλείο που εντοπίζει μνημονικές ευπάθειες σε runtime (μάρτυρας του UAF).
WAFWeb Application Firewall — φίλτρο αιτημάτων μπροστά από την εφαρμογή.

15. Παράρτημα: Εντολές Ελέγχου

15.1 Απογραφή εκδόσεων PHP

# Ποια έκδοση τρέχει στο CLI (πρόσεξε: CLI ≠ FPM runtime!)
php -v

# Ποια έκδοση τρέχει ΜΕΣΑ στο web (FPM/module):
echo "<?php phpinfo();" > /var/www/html/info.php
# …άνοιξε το info.php μέσω browser, δες "PHP Version",
# και ΣΒΗΣΕ ΤΟ αρχείο αμέσως μετά.

# Σε hosting farms — βρες όλες τις εκδόσεις που ζουν:
ls /etc/php/           # Debian/Ubuntu: φάκελοι ανά branch
find / -name "php-fpm" -type f 2>/dev/null

15.2 Έλεγχος ρύθμισης upload_progress

php -i | grep -i upload_progress

# Επιθυμητό (mitigation):
# session.upload_progress.enabled => 0

# Αν είναι 1 και δεν μπορείς να πιάσεις patch:
# γράψε στο php.ini: session.upload_progress.enabled = 0
# μετά: systemctl restart php8.*-fpm

15.3 Κυνηγητό στα logs

# Ύποπτα multipart POSTs με session progress πεδίο:
grep -i "PHP_SESSION_UPLOAD_PROGRESS" /var/log/nginx/access.log

# Ύποπτα child processes του FPM (τυπικά RCE footprints):
ps aux | grep -E "php-fpm.*(sh|bash|python|curl|nc) "

# Πρόσφατα τροποποιημένα .php σε writable dirs:
find /var/www -name "*.php" -mtime -2 -ls

15.4 Post-patch checklist

# 1. Ενημέρωση
sudo apt update && sudo apt install --only-upgrade php8.\*

# 2. Επιβεβαίωση έκδοσης
php -v

# 3. Restart FPM (η μνήμη της διεργασίας πρέπει να ξαναπέσει)
sudo systemctl restart php8.4-fpm php8.3-fpm

# 4. Smoke test εφαρμογών (login, upload, session flows)

Πηγές & Διαφάνεια

Διαφάνεια: Το άρθρο γράφτηκε εν μέσω εξελισσόμενου γεγονότος (21/10/2026, ~09:35 UTC), πριν τη δημοσίευση του patch. Οι τεχνικές λεπτομέρειες προέρχονται από researcher writeups και δημόσια PoC repos — όχι ακόμη από πλήρες επίσημο security advisory. Στοιχεία που είναι ερευνητικά και όχι επίσημα (αλυσίδες 4–5, ακριβείς μηχανισμοί παραβίασης) σημειώνονται ως τέτοια. Το χρονοδιάγραμμα κυκλοφορίας του patch (~14:00 UTC) βασίζεται στις δημόσιες ανακοινώσεις και μπορεί να μετατοπιστεί. Δεν παρέχουμε κώδικα εκμετάλλευσης — μόνο defensive ανάλυση. Θα ενημερώσουμε το άρθρο όταν δημοσιευτούν οι διορθωτικές εκδόσεις και τα επίσημα advisories.