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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-4323 — Fluent Bit HTTP 서버의 handle_trace_request 및 parse_trace_request 함수에서 발생하는 치명적인 힙 버퍼 오버플로 취약점. | Kitploit
도구/GitHubGitHub/d0rb/cve-2024-4323
Static AnalysisVulnerability AnalysisCode AnalysisExploitationWeb SecurityBinary Exploitation
GitHubd0rb/cve-2024-4323

CVE-2024-4323

Fluent Bit HTTP 서버의 handle_trace_request 및 parse_trace_request 함수에서 발생하는 치명적인 힙 버퍼 오버플로 취약점.

저장소 보기
12년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Profile Visitors

🇮🇱 #BringThemHome #NeverAgainIsNow 🇮🇱

우리는 테러 단체 하마스에 의해 인질로 잡힌 모든 시민의 안전한 귀환을 요구합니다. 모든 인질이 석방되어 안전하게 집으로 돌아올 때까지 우리는 쉬지 않을 것입니다. 여러분이 그들을 집으로 데려오는 데 도움을 줄 수 있습니다. https://stories.bringthemhomenow.net/

CVE-2024-4323

개요

Fluent Bit의 HTTP 서버 구현에 있는 handle_trace_request 및 parse_trace_request 함수가 심각한 취약점인 CVE-2024-4323의 원인으로 확인되었습니다. 이 취약점은 불충분한 경계 검사와 입력 검증으로 인해 발생하며, 잠재적인 힙 버퍼 오버플로로 이어집니다. 본 리뷰에서는 취약점의 성격, 잠재적 영향, 그리고 이를 완화하기 위한 필요한 조치를 강조합니다.

함수 상세

handle_trace_request 함수

이 함수는 들어오는 HTTP 추적 요청을 처리하며, 버퍼 할당 및 요청 데이터 복사를 수행합니다.

취약한 코드:

root@kitploit:~
static int handle_trace_request(struct flb_hs *hs, struct mk_http_session *session, struct mk_http_request *request)
{
    char *buffer;
    size_t size;
    int ret;
    flb_sds_t input_name;

    input_name = get_input_name(request);
    if (input_name == NULL) {
        return -1;
    }

    size = request->data.len;
    buffer = malloc(size);
    if (!buffer) {
        flb_sds_destroy(input_name);
        return -1;
    }

    memcpy(buffer, request->data.data, size);
    ret = parse_trace_request(buffer, size, request);

    free(buffer);
    flb_sds_destroy(input_name);

    return ret;
}

parse_trace_request 함수

이 함수는 추적 요청의 데이터를 파싱합니다.

취약한 코드:

root@kitploit:~
void parse_trace_request(char *buffer, size_t size, struct mk_http_request *request)
{
    if (size > MAX_SIZE) {
        // Handle error
        return;
    }

    // Parsing logic
}

식별된 문제

root@kitploit:~
힙 버퍼 오버플로:
    버퍼 할당 및 복사: `handle_trace_request` 함수는 들어오는 요청 데이터의 크기를 직접 사용하여 버퍼를 할당하고 데이터를 복사하며, 적절한 검증이 이루어지지 않습니다. 이로 인해 크기가 할당된 메모리를 초과하면 힙 버퍼 오버플로가 발생할 수 있습니다.
    경계 검사 부족: `parse_trace_request` 함수는 기본적인 크기 검사를 수행하지만, 파싱 전에 버퍼 크기가 안전한 한계 내에 있는지 확인하지 않습니다.

입력 검증:
    불충분한 입력 검증: 함수들이 들어오는 요청 데이터를 충분히 검증하지 않아 버퍼 오버플로를 악용하기 위한 악성 페이로드에 취약합니다.

잠재적 영향

root@kitploit:~
서비스 거부 (DoS): 공격자는 힙 버퍼를 오버플로시켜 애플리케이션을 충돌시키는 요청을 조작하여 서비스 거부를 유발할 수 있습니다.
원격 코드 실행 (RCE): 최악의 경우 공격자는 오버플로를 악용하여 서버에서 임의 코드를 실행하고 시스템에 대한 제어권을 획득할 수 있습니다.

완화 조치

제안된 수정 사항

다음 패치는 경계 검사와 입력 검증을 도입하여 취약점을 완화합니다.

root@kitploit:~
#define MAX_ALLOWED_SIZE 1024 * 1024  // Define a reasonable maximum size

static int handle_trace_request(struct flb_hs *hs, struct mk_http_session *session, struct mk_http_request *request)
{
    char *buffer;
    size_t size;
    int ret;
    flb_sds_t input_name;

    input_name = get_input_name(request);
    if (input_name == NULL) {
        return -1;
    }

    size = request->data.len;
    if (size > MAX_ALLOWED_SIZE) {
        // Log error and return
        flb_sds_destroy(input_name);
        return -1;
    }

    buffer = malloc(size);
    if (!buffer) {
        flb_sds_destroy(input_name);
        return -1;
    }

    memcpy(buffer, request->data.data, size);
    ret = parse_trace_request(buffer, size, request);

    free(buffer);
    flb_sds_destroy(input_name);

    return ret;
}

void parse_trace_request(char *buffer, size_t size, struct mk_http_request *request)
{
    if (size > MAX_ALLOWED_SIZE) {
        // Handle error
        return;
    }

    // Parsing logic
    // ...
}

주요 개선 사항

root@kitploit:~
경계 검사: 버퍼를 할당하기 전에 들어오는 데이터의 크기가 정의된 최대 허용 크기를 초과하지 않는지 확인하는 검사를 추가했습니다.
입력 검증: 비정상적으로 크거나 잘못된 형식의 요청이 버퍼 오버플로를 유발하지 않도록 입력 데이터가 검증되도록 보장했습니다.

결론

handle_trace_request 및 parse_trace_request 함수의 취약점은 서비스 거부 및 원격 코드 실행을 포함한 심각한 보안 위험을 초래할 수 있는 중요한 문제입니다. 제안된 패치는 강력한 경계 검사와 입력 검증을 도입하여 이러한 위험을 효과적으로 완화합니다. 이 패치를 신속히 적용하고 정기적인 코드 감사를 수행하여 Fluent Bit 애플리케이션의 보안과 무결성을 보장하는 것이 중요합니다.

도구 다운로드