TP-Link EAP770 AP의 SFE/PPE 오프로드 버그로 Wi-Fi 전송 데이터가 손상되고, 작성자는 root 권한을 얻으려 커널 익스플로잇을 직접 작성함
- TP-Link EAP770 v1은 2023년 8월 구매 이후 펌웨어가 한 번도 업데이트되지 않았고, 지원팀이 v1을 단종(EOL) 제품으로 안내함
- Wi-Fi 구간에서 1440바이트 TCP 세그먼트의 64바이트가 유효한 체크섬을 단 채 손상되어 TLS가 bad record mac 오류로 연결을 끊음
- 작성자는 AP의 SFE/PPE 오프로드가 체크섬을 다시 계산한 것으로 추정하고, 이를 끄는 sysfs 설정 두 개를 쓰려 했으나 SSH 셸이 uid 1로 실행돼 쓰기가 막힘
- sysfs 쓰기 권한이 없는 상황을 우회하려고 작성자가 커널 익스플로잇을 직접 작성해 AP에서 root 권한을 얻음
- Wi-Fi 연결이 매일 11시쯤 끊기는 문제는 별도 버그로 드러났고, 원인은 laptop의 Qualcomm Wi-Fi 카드 비공개 펌웨어에 있다고 밝힘
Hacker News opinions
나도 CVP 켜놨는데 별로 도움 안 되더라. 보안 엔지니어 10년 차인데 1994년 MS-DOS 악성코드 역분석도 Claude가 거부함. OpenAI 쪽은 그런 제한이 없어서 훨씬 낫더라.
반품은 못 함. 다른 나라에서 샀고 TP-Link가 구매처에 반품하라고 했는데 어디서 샀는지도 기억이 안 남.
TLS는 TCP가 깨끗한 스트림을 준다고 가정하고 만들어진 거라서, 데이터가 깨져서 올라오면 재시도 없이 연결을 끊어버림. 그래서 MAC 실패를 공격 신호로 보는 거임.
원인은 TCP 체크섬을 NIC 펌웨어가 계산하는 체크섬 오프로딩일 가능성이 큼. CPU 아끼려고 넘긴 건데 중간에 데이터가 깨지면 체크섬이 다시 계산돼서 그대로 나감.
재시도 레이어를 여러 겹 두면 서로 증폭돼서 자기 자신한테 DoS 걸리는 수가 있음.
나는 TP-Link 라우터는 이제 안 삼. 코드 품질이 너무 허접하고 취약점도 계속 나와서 Protectli에 OPNsense 올리고 AP는 Ubiquiti 씀.
GL.Inet 지원은 진짜 좋더라. 이메일로 해결되고 라우터에 직접 로그인해서 봐주기도 함. 그래도 나는 OpenWRT로 옮기고 싶음.