Højprioritetssårbarheder rettet i Uncode Core Plugin

admin

Indledning

Den 7. maj 2024 udgav WP-Firewall, en førende sikkerhedsrådgivende organisation, en detaljeret rapport om kritiske sårbarheder opdaget i Uncode Core-plugin'et. Hvis du er Uncode-bruger, er det afgørende at opdatere dit kerne-plugin til mindst version 2.8.9 for at beskytte dit WordPress-websted mod potentielle angreb. Dette indlæg vil dykke ned i detaljerne ved disse sårbarheder, deres implikationer og de skridt, der er taget for at afbøde dem.

Om Uncode Core Plugin

Uncode Core-pluginet, udviklet af Undsgn, er en væsentlig komponent i Uncode-temaet - et meget populært premium-tema til WooCommerce-websteder med over 110.000 salg på ThemeForest. Uncode-temaet er kendt for sit pixel-perfekte design, hvilket gør det ideelt til forskellige websteder, herunder porteføljer, bureauer, freelances, blogs og onlinebutikker.

Sikkerhedssårbarhederne

WP-Firewalls sikkerhedsforskere identificerede to væsentlige sårbarheder i Uncode Core-plugin:

1. Autentificeret vilkårlig fil og mappesletning

Beskrivelse: Denne sårbarhed giver enhver godkendt bruger med mindst en abonnentrolle mulighed for at slette vilkårlige mapper på serveren. Problemet ligger i 'delete_download'-funktionen, som mangler korrekt tilladelse og nonce-checks. Denne funktion er knyttet til handlingen `wp_ajax_uncodefont_delete_download`, hvilket gør det muligt for godkendte brugere at udnytte den.

Tekniske detaljer:

funktion delete_download() {
if (isset($_REQUEST['font_family'])) {
$font_family = $_REQUEST['font_family'];
$font_dir = trailingslashit($this->font_directory).$font_family;
$fontkit_zip = $font_dir.'.zip';

if (@file_exists($fontkit_zip)) {
if (!@unlink($fontkit_zip)) {
echo json_encode(array(
'error' => sprintf( esc_html__( 'Kunne ikke slette @fontface kit zip %1$s.', 'uncode-core' ), $fontkit_zip )
));
dø();
}
}

// Kan ikke slette mappen, fordi unzip_file, som har oprettet den, bruger WP_Filesystem. Så vi bruger WP_Filesystem til at slette det.
$this->setup_wp_filesystem();

globalt $wp_filsystem;
if (isset($wp_filsystem)) {
$delete_dir = $wp_filesystem->delete($font_dir, true);
if (!$delete_dir) {
echo json_encode(array('error' => $delete_dir['fejl']));
dø();
}
}

echo json_encode(array('success' => "Download slettet"));
}
dø();
}
include/font-system/font-system.php, function delete_download()

Funktionen konstruerer variabelen `$font_dir` ud fra brugerinput (`$_REQUEST['font_family']`) uden desinficering, hvilket tillader mappegennemgang og vilkårlig sletning.

2. Autentificeret privilegie-eskalering

Beskrivelse: Denne sårbarhed gør det muligt for enhver godkendt bruger med et minimum af abonnentrolle at eskalere deres privilegier til enhver rolle på WordPress-webstedet. Dette skyldes en usikker WP Option-opdatering i `save_option`-funktionen, som mangler korrekte tilladelsestjek.

Tekniske detaljer:

offentlig funktion save_option() {
if ( isset( $_POST['nonce'] ) && wp_verify_nonce( $_POST['nonce'], 'uncode-core-settings-nonce') ) {
if ( isset( $_POST['værdi'] ) && $_POST['værdi'] && isset( $_POST['option_id'] ) && $_POST['option_id'] ) {
$autoload = isset( $_POST['autoload'] ) && $_POST['autoload'] === 'sand' ? sandt : falsk;
update_option( $_POST['option_id'], $_POST['værdi'], $autoload );
---------- Klip HER ----------
include/core-settings/class-core-settings.php, function save_option()

Den nonce, der bruges i denne funktion, kan hentes af enhver godkendt bruger med adgang til wp-admin-området, hvilket tillader uautoriserede opdateringer af muligheder og privilegieeskalering.

Patchen

For at løse disse sårbarheder udgav Uncode Core plugin-udviklerne version 2.8.9, som indeholder følgende rettelser:

Autentificeret vilkårlig fil- og mappesletning: Implementerede tilladelser og ikke-tjek i funktionen `delete_download`.

Autentificeret privilegie-eskalering: Anvendte tilladelses- og nonce-tjek i funktionen `save_option` og tilføjede en hvidlistekontrol for indstillingsnøgler.

Konklusion

At sikre sikkerheden på dit WordPress-websted indebærer, at du holder dig opdateret med de nyeste patches og sikkerhedsråd. Sårbarhederne i Uncode Core-pluginnet understreger vigtigheden af at implementere korrekte tilladelser og nonce-tjek for eventuelle følsomme handlinger. Rengør altid brugerinput og begræns omfanget af, hvad der kan opdateres eller slettes gennem brugerhandlinger.

For mere detaljeret information kan du læse den fulde sikkerhedsrådgivning på WP-Firewalls hjemmeside her.

Hold dig sikker

WP-Firewall tilbyder forskellige løsninger til WordPress-sikkerhed, herunder plugin-revision, sårbarhedsovervågning og respons og administrerede WordPress-sikkerhedstjenester. Hvis du er plugin-udvikler eller sikkerhedsforsker, kan du overveje at tilmelde dig WP-Firewall.


wordpress security update banner

Modtag WP Security ugentligt gratis 👋
Tilmeld dig nu
!!

Tilmeld dig for at modtage WordPress-sikkerhedsopdatering i din indbakke hver uge.

Vi spammer ikke! Læs vores privatlivspolitik for mere info.