본문 바로가기

전체 글

(97)
React, Next.js 취약점 추가 발견(2025-12-11), 업데이트 방법 문제지난주 React Server Compnents(RSC)에서 심각한 취약점이 발견된 뒤, 새로운 취약점이 발견되었다.새로 발견 된 취약점은 2개다.CVE-2025-55184는 특정 요청으로 무한 루프에 빠질 수 있는 높은 등금의 취약점이다.CVE-2025-55183는 특정 요청으로 소스코드가 드러날 수 있는 중간 등급의 취약점이다.높은 단계의 위험도를 가진 문제를 포함하므로 즉시 해결된 버전으로 업데이트하는 것을 권고한다.점검이번 취약점에 노출되는 버전은 아래와 같다.React19.0.0 ~ 19.0.119.1.0 ~ 19.1.219.2.0 ~ 19.2.1Next.js13.3 이상14.x15.0.x15.1.x15.2.x15.3.x15.4.x15.5.x15.x canary16.0.x16.x canary..
React, Next.js 취약점 발견, 해당 버전 확인하고 업데이트 하기 문제리액트 서버 컴포넌트(React Server Components, RSC)에서 보안 취약점이 발견되었다.이번에 발견된 취약점 식별번호는 CVE-2025-55182이다.요청 하나로 서버에 명령을 실행할 수 있어 사실상 서버를 탈취할 수 있는 상당히 심각한 문제이다. 흔하게 쓰이는 라이브러리인 만큼 문제가 되는 버전을 사용하고 있는 서버도 다수 있을 것으로 보인다.점검모든 React와 Next.js 버전이 보안 취약점에 노출되는 것은 아니다.문제에 노출 되는 버전은 아래와 같다.React: 19.0, 19.1, 19.1.1, 19.2.0Next.js: 15.x, 16.x, 14.3.0-canary.77와 그 이후의 canary 버전들우선 자신이 운영하는 웹엡에서 해당 버전을 사용하고 있는지 점검해야 한다..
생활코딩 Next.js 다이나믹 라우팅 예제 오류 해결 증상생활코딩의 Next.js 강의 중 다이나믹 라우팅 예제를 최신 Next.js로 실행하면 정상동작 하지 않는다.예제 보러 가기아래와 같은 에러가 출력됐다.Error: Route "/read/[id]" used `params.id`. `params` is a Promise and must be unwrapped with `await` or `React.use()` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at Read (app/read/[id]/page.tsx:5:12) 3 | } 4 | export default function Read(props: ReadProp..
Ghostty로 SSH 사용할 때 발생하는 백스페이스 문제 해결 증상Ghostty로 ssh를 사용해 원격 서버에 접속하여 백스페이스를 누르면 공백 문자가 입력되는 문제가 있었다.원인원격 서버측에서 Ghostty 터미널의 고유한 기능(키 매핑, 제어 시퀀스 등)을 올바르게 처리하지 못하기 때문이다.해결 방법원격 서버측에 Ghostty 터미널의 고유 기능을 알려주면 된다.아래 명령을 실행한다.infocmp -x xterm-ghostty | ssh USER@SERVER -- tic -x -
macOS에 SSH 접근 허용하는 방법 한 줄 요약시스템 설정 > 일반 > 공유 > 원격 로그인 활성화, 끝!절차 설명1. 시스템 설정 열기화면 왼쪽 상단의 애플 메뉴 아이콘 > "시스템 설정"을 클릭합니다.혹은 스팟라이트를 열어서 "시스템 설정"을 실행합니다.2. 일반 선택시스템 설정 창 사이드바에서 "일반"을 클릭합니다.3. 공유 선택일반 설정 목록 아래로 내려가 "공유"를 클릭합니다.4. 원격 로그인 활성화공유 설정 목록 아래로 내려가 "원격 로그인"을 찾아 토글 버튼을 클릭해 활성화 합니다.접근 권한을 조금 더 상세하게 설정하려면 토글 버튼 옆의 (i) 아이콘을 클릭합니다.5. 원격 로그인 상세 설정에서 접근 권한 설정시스템의 전체 디스크 접근 권한을 준다거나, 특정 계정에만 SSH 접근을 허용하고 싶다면 이곳에서 설정합니다.일반적으로..
curl의 -X 옵션과 몇 가지 curl의 -X 옵션curl의 -X 옵션이 하는 역할이 무엇인지 궁금해서 찾아보았다.공식 문서에는 이렇게 적혀있다.-X, --request Change the method to use when starting the transfer. curl passes on the verbatim string you give it its the request without any filter or other safe guards. That includes white space and control characters.해석하면 이렇다.전송을 시작할 때 사용할 매서드를 변경합니다.curl은 필터나 기타 안전 장치 없이 요청에 제공한 문자열을 그대로 전달합니다.여기에는 공백과 제..
AstroNvim 설치와 Go언어 패키지 구성 AstroNvim은 Neovim에서 사용할 수 있는 기능 확장 구성이다. 단순히 기능만 확장되는 것이 아니라 겉보기도 다소 삭막한 vim 인터페이스를 현대적으로 바꿔준다. 이런 류의 구성으로 LazyVim, NvChad 등이 있다.0. MacPorts를 이용한 패키지 설치macOS에서 사용할 수 있는 대표적인 패키지 관리자로 homebrew가 있다. 보통 맥용 패키지 설치 방법을 설명할 때 homebrew 중심으로 설명하곤 한다. 그런데 homebrew는 최신 macOS 위주로 지원하기 때문에 오래된 macOS를 사용하고 있다면 설치가 잘 안 될 수 있다. 실제로 얼마 전에 어떤 패키지를 설치하는데 하루종일 기다려도 진행이 안 되는 문제가 있었다. 그래서 나는 그 이후로 homebrew 대신 또 다른 패..
2024년 11월 4주 회고 페어 프로그래밍 2페어 프로그래밍은 아주 잘 되고 있다. 혼자서 하는 것보다 둘이서 하는 것이 훨씬 진도가 잘 나간다. 언듯 보면 둘이서 1인분의 시간을 낭비하는 것 같지만 그렇지 않다. 둘이서 프로그래밍을 하다가 이렇게 하면 어떨까? 하는 아이디어가 나오면 바로 적용하게 된다. 혼자서라면 고민하다 시간을 끌고 적용을 안 하게 될 수도 있는 사안이었다. 머릿속으로만 생각만 하다 넘겨버릴 수 있는 아이디어도 실제 행동으로 옮겨졌다. 그래서 결국은 더 나은 효율을 낼 수 있었다. 그래서 만족한다. 동료가 조금 더 우리 코드에 익숙해지고 시스템을 이해하기 시작한다면 직접 수정도 가능해 보인다. 그때는 훨씬 더 높은 효율을 낼 수 있을 거라 기대한다.   2분명 좋은 내용인 것은 맞는데, 책 내용이 머리에 들어..