Bash에 대한 패치 적용 실패

Bash에 대한 패치 적용 실패

내 프로덕션 상자에 있는 bash 쉘은 'bashbug' 취약점에 취약합니다.https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/

설치된 버전은

`$ bash --version
 GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)`

서버가 인터넷에 연결되어 있지 않아 최신 패키지를 설치할 수 없어서 소스 코드를 사용하여 YUM설치하려고 합니다 . 소스코드에서 bash다운로드하여 bash 4.3설치했습니다. 이 버전은 여전히 ​​bash 버그에 취약하므로 이 버전에 대한 최신 패치를 적용해야 합니다.

bash이를 위해 다음 사이트에서 최신 패치를 다운로드했습니다 .

http://ftp.gnu.org/gnu/bash/bash-4.3-patches/

bash43-030 위 링크에서 패치를 적용하고 있습니다 .

http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-030

내가 겪고 있는 문제는 다음 오류로 인해 패치 적용이 실패한다는 것입니다.

[bash-4.3]$ patch -p0 < bash-patch patching file builtins/evalstring.c Hunk #1 FAILED at 309. Hunk #2 FAILED at 379. 2 out of 2 hunks FAILED -- saving rejects to file builtins/evalstring.c.rej patching file parse.y Hunk #1 succeeded at 2574 (offset 35 lines). Hunk #2 FAILED at 4038. 1 out of 2 hunks FAILED -- saving rejects to file parse.y.rej patching file shell.h Hunk #1 succeeded at 181 with fuzz 2. patching file y.tab.c Hunk #1 FAILED at 169. Hunk #2 FAILED at 498. Hunk #3 FAILED at 2099. Hunk #4 FAILED at 2113. ... ... Hunk #98 FAILED at 6350. 97 out of 98 hunks FAILED -- saving rejects to file y.tab.c.rej patching file patchlevel.h Hunk #1 FAILED at 26. 1 out of 1 hunk FAILED -- saving rejects to file patchlevel.h.rej

문제 해결 방법을 제안해 주세요. 패치 적용 방법이 잘못되었을 수 있습니다.

답변1

배쉬 패치는누적, 4.3의 소스는 사실상 4.3.0이고 패치는 분리되어 있으며 모두 순서대로 적용되어야 하며 각 패치는 패치 수준을 높여줍니다. 공식 사이트에서 전체 소스 릴리스가 제공되는 경우는 거의 없으며 마지막 릴리스는 3.2.48이었습니다.

당신이 관찰하고 있는 것은 필수 패치("-030" 접미사는 .30 패치 수준을 나타냄)가 이전 패치를 예상하고 있다는 것입니다. (이는 bash 패치로 항상 감지됩니다. 각 패치에서 patchlevel.h누락이 발생하면 패치 오류가 발생하기 때문입니다.) 소스에서 빌드하는 방법에 대한 지침은 여기에서 찾을 수 있습니다.https://unix.stackexchange.com/a/157714/31352

소스에서 빌드하는 것은 간단하지만 가볍게 수행할 수는 없습니다. Bash를 패치하고 나면 공급업체 지원과 관련하여 스스로 책임을 져야 하며 추가 관리 작업(예: 패치 및 업그레이드)이 복잡해질 수 있습니다.

당신은 아마도 더 나을 것입니다Red Hat RPM을 다운로드하고 이를 서버로 전송합니다(또는 실제로 소스에서 빌드하려는 경우 대신 SRPM). bash에는 최소한의 종속성(특히 termcap)이 있으므로 수정된 것이 없다고 가정하면 단일 패키지만 있으면 됩니다.

어쨌든 bash-4.1을 고수해야 할 것입니다. 스크립트에 영향을 미칠 수 있는 많은 변경 사항이 있습니다.COMPAT자세한 내용은 소스 배포 파일을 참조하세요. 2.05b부터 4.3까지 출시된 모든 버전에는 "shellshock"(CVE-2014-6271) 및 관련 문제에 대한 패치가 있습니다.

관련 정보