카테고리 변경과 제목 수정을 동시에 수행하면 제목 제목 제한을 우회할 수 있습니다

우선순위/심각도:

중간

플랫폼

Windows 11

Google Chrome 114.0.5735.90 (공식 빌드) (64비트)

설명:

관리자 설정을 통해 주제 제목에 대한 여러 제한 사항을 구성할 수 있습니다. 여기에는 다음이 포함됩니다:

  • min topic title length (주제 제목 최소 길이)
  • title min entropy (제목 최소 엔트로피)
  • max emojis in title (제목 내 최대 이모지 수)
  • allow duplicate topic titles (중복 주제 제목 허용)

사용자가 주제 제목을 편집하는 동안 카테고리를 변경하면 이러한 제한 사항 준수에 대한 체크가 우회됩니다.

재현 단계:

  1. “새 주제” 버튼을 클릭합니다.
  2. 게시물 필드에 일부 텍스트를 추가합니다.
  3. “주제 생성” 버튼을 클릭합니다.
    :slightly_smiling_face: “제목이 필요합니다” 오류가 표시됩니다.
  4. “제목 입력 또는 링크 붙여넣기” 필드에 조건에 맞는 제목을 추가합니다.
  5. “주제 생성” 버튼을 클릭합니다.
    :slightly_smiling_face: 주제가 생성됩니다.
  6. 주제 제목 오른쪽의 연필 아이콘을 클릭합니다.
    주제 편집 UI가 열립니다.
  7. 제목을 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa로 변경합니다.
  8. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :slightly_smiling_face: 대화상자가 나타납니다:

    오류가 발생했습니다: 제목이 불분명해 보입니다. 대부분의 단어에 동일한 문자가 반복적으로 포함되어 있나요?

  9. 대화상자의 “확인” 버튼을 클릭합니다.
  10. 카테고리 드롭다운 메뉴에서 다른 카테고리를 선택합니다.
  11. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :slightly_smiling_face: 대화상자가 나타납니다:

    오류가 발생했습니다: 제목이 불분명해 보입니다. 대부분의 단어에 동일한 문자가 반복적으로 포함되어 있나요?

  12. 대화상자의 “확인” 버튼을 클릭합니다.
  13. 대화상자의 X 버튼을 클릭합니다.
  14. 페이지를 새로고침합니다.
    :bug: 반대로 표시되고 있음에도 불구하고 편집이 성공적으로 수행되었습니다. 이제 주제는 title min entropy 설정을 위반하는 제목을 가지고 있습니다.
  15. 주제 제목 오른쪽의 연필 아이콘을 클릭합니다.
    주제 편집 UI가 열립니다.
  16. 제목을 🙃🙃🙃🙃🙃🙃🙃🙃 This title has many emoji로 변경합니다.
  17. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :slightly_smiling_face: 대화상자가 나타납니다:

    오류가 발생했습니다: 제목에는 이모지가 1개 이상 포함될 수 없습니다

  18. 대화상자의 “확인” 버튼을 클릭합니다.
  19. 카테고리 드롭다운 메뉴에서 다른 카테고리를 선택합니다.
  20. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :bug: 편집이 성공적으로 수행되었습니다. 이제 주제는 max emojis in title 설정을 위반하는 여러 이모지가 포함된 제목을 가지고 있습니다.
  21. 주제 제목 오른쪽의 연필 아이콘을 클릭합니다.
    주제 편집 UI가 열립니다.
  22. 제목을 포럼의 다른 주제에 이미 사용 중인 제목으로 변경합니다.
  23. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :slightly_smiling_face: 대화상자가 나타납니다:

    오류가 발생했습니다: 제목이 이미 사용되었습니다

  24. 대화상자의 “확인” 버튼을 클릭합니다.
  25. 카테고리 드롭다운 메뉴에서 다른 카테고리를 선택합니다.
  26. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :bug: 편집이 성공적으로 수행되었습니다. 이제 주제는 allow duplicate topic titles 설정을 위반하는 중복 제목을 가지고 있습니다.
  27. 주제 제목 오른쪽의 연필 아이콘을 클릭합니다.
    주제 편집 UI가 열립니다.
  28. 주제 제목 필드에서 텍스트를 삭제합니다.
  29. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :slightly_smiling_face: 대화상자가 나타납니다:

    여러 오류가 발생했습니다: 1) 제목은 비어 있을 수 없습니다 2) 제목이 너무 짧습니다 (최소 15자) 3) 제목이 불분명해 보입니다. 대부분의 단어에 동일한 문자가 반복적으로 포함되어 있나요?

  30. 대화상자의 “확인” 버튼을 클릭합니다.
  31. 카테고리 드롭다운 메뉴에서 다른 카테고리를 선택합니다.
  32. 주제 편집 UI의 ✓ 버튼을 클릭합니다.
    :bug: 편집이 성공적으로 수행되었습니다. 이제 주제는 min topic title length 설정을 위반하여 제목이 없습니다:
  33. 페이지를 새로고침합니다.
    :bug: 페이지가 로드되지 않습니다:

    이 페이지가 작동하지 않습니다

    try.discourse.org가 너무 많이 리디렉션했습니다.
    쿠키를 지워보세요.
    ERR_TOO_MANY_REDIRECTS

추가 정보

"안전 모드"에서 try.discourse.org에서 결함을 재현할 수 있습니다.

5개의 좋아요

버그의 “aaaaaaaaaaaaaaaaaaaaaaaa” 부분을 재현했습니다:

재현해 보니 unqualified topic_slug 때문인 것 같습니다.

개인적으로 보안상의 경계에 있는 문제라고 생각합니다… 사용자가 허용되지 않은 작업을 수행하고 있거든요.

이 문제를 비공개로 전환하고 내부적으로 우선순위를 높일 예정입니다. 향후 몇 주 안에 해결될 것으로 보입니다.

3개의 좋아요

sam님, 적절한 보고 워크플로우를 사용하지 못해 죄송합니다.

1개의 좋아요

걱정하지 마세요. 이 문제는 경계에 있는 경우입니다. 아직 이것이 CVE에 해당하는지 100% 확신하지 못하고 있어, 저는 좀 더 신중하게 접근하고 있는 거예요.

4개의 좋아요

이 주제에 나와 있는 모든 단계를 재현해 보았습니다. 주제 검증기가 올바른 오류를 추가하도록 작동하는 것 같지만, 업데이트 트랜잭션이 저장 전에 유효성을 보장하지 않는 것 같습니다.

이 문제들 중 가장 큰 우려 사항은 빈/공백 주제 제목(마지막 단계)입니다. 주로 페이지가 계속 다시 로드되기 때문이며(이는 여기에서 트리거되는 무한 루프입니다). 그 외에는 주로 사용성 문제이며, 제목 링크가 존재하지 않아 /latest에서 주제를 클릭할 수 없기 때문입니다.

2개의 좋아요

@per1234 보고해 주셔서 감사합니다. 해당 문제의 수정이 적용되었을 것입니다.

3개의 좋아요

이 주제는 2일 후 자동으로 닫혔습니다. 더 이상 새로운 답변을 게시할 수 없습니다.