ಇತರ ಜನರ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ವಂಚಿಸಲು ಅನುಮತಿಸುವ RubyGems.org ನಲ್ಲಿನ ದುರ್ಬಲತೆ

RubyGems.org ಪ್ಯಾಕೇಜ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ನಿರ್ಣಾಯಕ ದುರ್ಬಲತೆಯನ್ನು (CVE-2022-29176) ಗುರುತಿಸಲಾಗಿದೆ, ಇದು ಸರಿಯಾದ ಅಧಿಕಾರವಿಲ್ಲದೆ, ಕಾನೂನುಬದ್ಧ ಪ್ಯಾಕೇಜ್‌ನ ಯಾಂಕ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೂಲಕ ಮತ್ತು ಅದರ ಸ್ಥಳದಲ್ಲಿ ಲೋಡ್ ಮಾಡುವ ಮೂಲಕ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಕೆಲವು ಇತರ ಜನರ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಅದೇ ಹೆಸರು ಮತ್ತು ಆವೃತ್ತಿ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿರುವ ಇನ್ನೊಂದು ಫೈಲ್.

ದುರ್ಬಲತೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಬಳಸಿಕೊಳ್ಳಲು, ಮೂರು ಷರತ್ತುಗಳನ್ನು ಪೂರೈಸಬೇಕು:

  • ತಮ್ಮ ಹೆಸರಿನಲ್ಲಿ ಹೈಫನ್ ಹೊಂದಿರುವ ಪ್ಯಾಕೆಟ್‌ಗಳ ಮೇಲೆ ಮಾತ್ರ ದಾಳಿಯನ್ನು ನಡೆಸಬಹುದು.
  • ಆಕ್ರಮಣಕಾರರು ಹೈಫನ್ ಅಕ್ಷರದ ಮೊದಲು ಹೆಸರಿನ ಭಾಗದೊಂದಿಗೆ ರತ್ನದ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಇರಿಸಲು ಶಕ್ತರಾಗಿರಬೇಕು. ಉದಾಹರಣೆಗೆ, ದಾಳಿಯು "rails-html-sanitizer" ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿದ್ದರೆ, ದಾಳಿಕೋರನು ತನ್ನದೇ ಆದ "rails-html" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಇರಿಸಬೇಕು.
  • ದಾಳಿಗೊಳಗಾದ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಕಳೆದ 30 ದಿನಗಳಲ್ಲಿ ರಚಿಸಿರಬೇಕು ಅಥವಾ 100 ದಿನಗಳವರೆಗೆ ನವೀಕರಿಸಲಾಗಿಲ್ಲ.

"ಯಾಂಕ್" ಆಕ್ಷನ್ ಹ್ಯಾಂಡ್ಲರ್‌ನಲ್ಲಿನ ದೋಷದಿಂದ ದುರ್ಬಲತೆಯು ಉಂಟಾಗುತ್ತದೆ, ಇದು ಹೈಫನ್ ನಂತರದ ಹೆಸರಿನ ಭಾಗವನ್ನು ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಹೆಸರಾಗಿ ಅರ್ಥೈಸುತ್ತದೆ, ಇದು ಹೆಸರಿನ ಭಾಗಕ್ಕೆ ಹೊಂದಿಕೆಯಾಗುವ ವಿದೇಶಿ ಪ್ಯಾಕೇಜ್‌ಗಳ ಅಳಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿಸಿತು. ಹೈಫನ್ ಮೊದಲು. ನಿರ್ದಿಷ್ಟವಾಗಿ, "yank" ಹ್ಯಾಂಡ್ಲರ್ ಕೋಡ್‌ನಲ್ಲಿ, 'find_by!(ಪೂರ್ಣ_ಹೆಸರು: "#{rubygem.name}-#{slug}")" ಕರೆಯನ್ನು ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹುಡುಕಲು ಬಳಸಲಾಯಿತು, ಆದರೆ "ಸ್ಲಗ್" ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ತೆಗೆದುಹಾಕಬೇಕಾದ ಆವೃತ್ತಿಯನ್ನು ನಿರ್ಧರಿಸಲು ಪ್ಯಾಕೇಜ್ ಮಾಲೀಕರು. "rails-html" ಪ್ಯಾಕೇಜ್‌ನ ಮಾಲೀಕರು ಆವೃತ್ತಿ "1.2.3" ಬದಲಿಗೆ "ಸ್ಯಾನಿಟೈಜರ್-1.2.3" ಅನ್ನು ಸೂಚಿಸಬಹುದು, ಇದು ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬೇರೊಬ್ಬರ ಪ್ಯಾಕೇಜ್ "rails-html-sanitizer-1.2.3 ಗೆ ಅನ್ವಯಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ. ".

ತಿಳಿದಿರುವ ಓಪನ್-ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಲ್ಲಿ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ಹುಡುಕಲು ಹ್ಯಾಕರ್‌ಒನ್‌ನ ಬೌಂಟಿ ಕಾರ್ಯಕ್ರಮದ ಭಾಗವಾಗಿ ಭದ್ರತಾ ಸಂಶೋಧಕರು ಸಮಸ್ಯೆಯನ್ನು ಗುರುತಿಸಿದ್ದಾರೆ. ಮೇ 5 ರಂದು RubyGems.org ನಲ್ಲಿ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ ಮತ್ತು ಡೆವಲಪರ್‌ಗಳ ಪ್ರಕಾರ, ಕಳೆದ 18 ತಿಂಗಳುಗಳಲ್ಲಿ ಲಾಗ್‌ಗಳಲ್ಲಿನ ದುರ್ಬಲತೆಯ ಶೋಷಣೆಯ ಯಾವುದೇ ಕುರುಹುಗಳನ್ನು ಅವರು ಇನ್ನೂ ಗುರುತಿಸಿಲ್ಲ. ಅದೇ ಸಮಯದಲ್ಲಿ, ಇಲ್ಲಿಯವರೆಗೆ ಕೇವಲ ಮೇಲ್ನೋಟದ ಲೆಕ್ಕಪರಿಶೋಧನೆಯನ್ನು ನಡೆಸಲಾಗಿದೆ ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ಹೆಚ್ಚು ಆಳವಾದ ಆಡಿಟ್ ಅನ್ನು ಯೋಜಿಸಲಾಗಿದೆ.

ನಿಮ್ಮ ಯೋಜನೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು, Gemfile.lock ಫೈಲ್‌ನಲ್ಲಿನ ಕಾರ್ಯಾಚರಣೆಗಳ ಇತಿಹಾಸವನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ; ದುರುದ್ದೇಶಪೂರಿತ ಚಟುವಟಿಕೆಯನ್ನು ಹೆಸರು ಮತ್ತು ಆವೃತ್ತಿಯ ಸಂರಕ್ಷಣೆ ಅಥವಾ ವೇದಿಕೆಯ ಬದಲಾವಣೆಯೊಂದಿಗೆ ಬದಲಾವಣೆಗಳ ಉಪಸ್ಥಿತಿಯಲ್ಲಿ ವ್ಯಕ್ತಪಡಿಸಲಾಗುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ರತ್ನದ ಹೆಸರು ಯಾವಾಗ -1.2.3 ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಜೆಮ್ ನೇಮ್-1.2.3-ಜಾವಾಗೆ ನವೀಕರಿಸಲಾಗಿದೆ). ನಿರಂತರ ಏಕೀಕರಣ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಅಥವಾ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳನ್ನು ಪ್ರಕಟಿಸುವಾಗ ಗುಪ್ತ ಪ್ಯಾಕೇಜ್ ಪರ್ಯಾಯದಿಂದ ರಕ್ಷಿಸಲು ಪರಿಹಾರವಾಗಿ, ಡೆವಲಪರ್‌ಗಳು ಅವಲಂಬನೆಗಳನ್ನು ಸರಿಪಡಿಸಲು "-ಫ್ರೋಜನ್" ಅಥವಾ "-ಡೆಪ್ಲೋಯ್ಮೆಂಟ್" ಆಯ್ಕೆಗಳೊಂದಿಗೆ ಬಂಡ್ಲರ್ ಅನ್ನು ಬಳಸಲು ಶಿಫಾರಸು ಮಾಡುತ್ತಾರೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ